Merge "Add microbenchmark test for `Icon`." into androidx-main
diff --git a/camera/camera-effects/build.gradle b/camera/camera-effects/build.gradle
index ae6d569..ea5a94c 100644
--- a/camera/camera-effects/build.gradle
+++ b/camera/camera-effects/build.gradle
@@ -27,6 +27,13 @@
annotationProcessor(libs.autoValue)
+ testImplementation(libs.robolectric)
+ testImplementation(libs.testRunner)
+ testImplementation(libs.kotlinStdlib)
+ testImplementation(libs.truth)
+ testImplementation(libs.testRules)
+ testImplementation(libs.testCore)
+
androidTestImplementation(libs.multidex)
androidTestImplementation(libs.testExtJunit)
androidTestImplementation(libs.testCore)
diff --git a/camera/camera-effects/src/main/java/androidx/camera/effects/internal/TextureFrame.java b/camera/camera-effects/src/main/java/androidx/camera/effects/internal/TextureFrame.java
new file mode 100644
index 0000000..76a5726
--- /dev/null
+++ b/camera/camera-effects/src/main/java/androidx/camera/effects/internal/TextureFrame.java
@@ -0,0 +1,134 @@
+/*
+ * Copyright 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.camera.effects.internal;
+
+import static androidx.core.util.Preconditions.checkState;
+
+import static java.util.Objects.requireNonNull;
+
+import android.view.Surface;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.camera.effects.opengl.GlRenderer;
+
+/**
+ * A GL texture for caching camera frames.
+ *
+ * <p>The frame can be empty or filled. A filled frame contains valid information on how to
+ * render it. An empty frame can be filled with new content.
+ */
+class TextureFrame {
+
+ private static final long NO_VALUE = Long.MIN_VALUE;
+
+ private final int mTextureId;
+
+ private long mTimestampNs = NO_VALUE;
+ @Nullable
+ private Surface mSurface;
+ @Nullable
+ private float[] mTransform;
+
+ /**
+ * Creates a frame that is backed by a texture ID.
+ */
+ TextureFrame(int textureId) {
+ mTextureId = textureId;
+ }
+
+ /**
+ * Checks if the frame is empty.
+ *
+ * <p>A empty frame means that the texture does not have valid content. It can be filled
+ * with new content.
+ */
+ boolean isEmpty() {
+ return mTimestampNs == NO_VALUE;
+ }
+
+ /**
+ * Marks the frame as empty.
+ *
+ * <p>Once the frame is marked as empty, it can be filled with new content.
+ */
+ void markEmpty() {
+ checkState(!isEmpty(), "Frame is already empty");
+ mTimestampNs = NO_VALUE;
+ mTransform = null;
+ mSurface = null;
+ }
+
+ /**
+ * Marks the frame as filled.
+ *
+ * <p>Call this method when a valid camera frame is copied to the texture with
+ * {@link GlRenderer#renderInputToQueueTexture}. Once filled, the frame should not be
+ * written into until it's made empty again.
+ *
+ * @param timestampNs the timestamp of the camera frame.
+ * @param transform the transform to apply when rendering the frame.
+ * @param surface the output surface to which the frame should render.
+ */
+ void markFilled(long timestampNs, float[] transform, Surface surface) {
+ checkState(isEmpty(), "Frame is already filled");
+ mTimestampNs = timestampNs;
+ mTransform = transform;
+ mSurface = surface;
+ }
+
+ /**
+ * Gets the timestamp of the frame.
+ *
+ * <p>This value is used in {@link GlRenderer#renderQueueTextureToSurface}.
+ */
+ long getTimestampNs() {
+ return mTimestampNs;
+ }
+
+ /**
+ * Gets the 2D texture id of the frame.
+ *
+ * <p>This value is used in {@link GlRenderer#renderQueueTextureToSurface} and
+ * {@link GlRenderer#renderInputToQueueTexture}.
+ */
+ int getTextureId() {
+ return mTextureId;
+ }
+
+ /**
+ * Gets the transform of the frame.
+ *
+ * <p>This value is used in {@link GlRenderer#renderQueueTextureToSurface}.
+ */
+ @NonNull
+ float[] getTransform() {
+ return requireNonNull(mTransform);
+ }
+
+ /**
+ * Gets the output surface to render.
+ *
+ * <p>This value is used in {@link GlRenderer#renderQueueTextureToSurface}. A frame should
+ * always be rendered to the same surface than the one it was originally filled with. If the
+ * Surface is no longer valid, the frame should be dropped.
+ */
+ @NonNull
+ Surface getSurface() {
+ return requireNonNull(mSurface);
+ }
+}
diff --git a/camera/camera-effects/src/main/java/androidx/camera/effects/internal/TextureFrameBuffer.java b/camera/camera-effects/src/main/java/androidx/camera/effects/internal/TextureFrameBuffer.java
new file mode 100644
index 0000000..d68839d
--- /dev/null
+++ b/camera/camera-effects/src/main/java/androidx/camera/effects/internal/TextureFrameBuffer.java
@@ -0,0 +1,100 @@
+/*
+ * Copyright 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.camera.effects.internal;
+
+import static java.util.Objects.requireNonNull;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.camera.effects.opengl.GlRenderer;
+
+/**
+ * A buffer of {@link TextureFrame}.
+ */
+class TextureFrameBuffer {
+
+ @NonNull
+ private final TextureFrame[] mFrames;
+
+ /**
+ * Creates a buffer of frames backed by texture IDs.
+ *
+ * @param textureIds @D textures allocated by {@link GlRenderer#createBufferTextureIds}.
+ */
+ TextureFrameBuffer(int[] textureIds) {
+ mFrames = new TextureFrame[textureIds.length];
+ for (int i = 0; i < textureIds.length; i++) {
+ mFrames[i] = new TextureFrame(textureIds[i]);
+ }
+ }
+
+ /**
+ * Gets the number of total frames in the buffer.
+ */
+ int getLength() {
+ return mFrames.length;
+ }
+
+ /**
+ * Gets a filled frame with the exact timestamp.
+ *
+ * <p>This is used when the caller wants to render a frame with a specific timestamp. It
+ * returns null if the frame no longer exists in the queue. e.g. it might be removed
+ * because the queue is full.
+ *
+ * <p>This method also empties frames that are older than the given timestamp. This is based
+ * on the assumption that the output frame are always rendered in order.
+ *
+ * <p>Once the returned frame is rendered, it should be marked empty by the caller.
+ */
+ @Nullable
+ TextureFrame getFrameToRender(long timestampNs) {
+ TextureFrame frameToReturn = null;
+ for (TextureFrame frame : mFrames) {
+ if (frame.isEmpty()) {
+ continue;
+ }
+ if (frame.getTimestampNs() == timestampNs) {
+ frameToReturn = frame;
+ } else if (frame.getTimestampNs() < timestampNs) {
+ frame.markEmpty();
+ }
+ }
+ return frameToReturn;
+ }
+
+ /**
+ * Gets the next empty frame, or the oldest frame if the buffer is full.
+ *
+ * <p>This is called when a new frame is available from the camera. The new frame will be
+ * filled to this position. If there is no empty frame, the oldest frame will be overwritten.
+ */
+ @NonNull
+ TextureFrame getFrameToFill() {
+ long minTimestampNs = Long.MAX_VALUE;
+ TextureFrame oldestFrame = null;
+ for (TextureFrame frame : mFrames) {
+ if (frame.isEmpty()) {
+ return frame;
+ } else if (frame.getTimestampNs() < minTimestampNs) {
+ minTimestampNs = frame.getTimestampNs();
+ oldestFrame = frame;
+ }
+ }
+ return requireNonNull(oldestFrame);
+ }
+}
diff --git a/camera/camera-effects/src/main/java/androidx/camera/effects/internal/package-info.java b/camera/camera-effects/src/main/java/androidx/camera/effects/internal/package-info.java
new file mode 100644
index 0000000..e081ded
--- /dev/null
+++ b/camera/camera-effects/src/main/java/androidx/camera/effects/internal/package-info.java
@@ -0,0 +1,23 @@
+/*
+ * Copyright 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * Internal code hidden from the public API.
+ */
+@RestrictTo(RestrictTo.Scope.LIBRARY)
+package androidx.camera.effects.internal;
+
+import androidx.annotation.RestrictTo;
diff --git a/camera/camera-effects/src/test/java/androidx/camera/effects/internal/FrameBufferTest.kt b/camera/camera-effects/src/test/java/androidx/camera/effects/internal/FrameBufferTest.kt
new file mode 100644
index 0000000..636c909
--- /dev/null
+++ b/camera/camera-effects/src/test/java/androidx/camera/effects/internal/FrameBufferTest.kt
@@ -0,0 +1,141 @@
+/*
+ * Copyright 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.camera.effects.internal
+
+import android.graphics.SurfaceTexture
+import android.opengl.Matrix
+import android.os.Build
+import android.view.Surface
+import com.google.common.truth.Truth.assertThat
+import org.junit.After
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.robolectric.RobolectricTestRunner
+import org.robolectric.annotation.Config
+import org.robolectric.annotation.internal.DoNotInstrument
+
+/**
+ * Unit tests for [TextureFrameBuffer].
+ */
+@RunWith(RobolectricTestRunner::class)
+@DoNotInstrument
+@Config(minSdk = Build.VERSION_CODES.LOLLIPOP)
+class FrameBufferTest {
+
+ companion object {
+ private const val TIMESTAMP_1 = 11L
+ private const val TIMESTAMP_2 = 22L
+ }
+
+ private lateinit var surfaceTexture1: SurfaceTexture
+ private lateinit var surface1: Surface
+ private val transform1 = FloatArray(16).apply {
+ Matrix.setIdentityM(this, 0)
+ }
+
+ private lateinit var surfaceTexture2: SurfaceTexture
+ private lateinit var surface2: Surface
+ private val transform2 = FloatArray(16).apply {
+ Matrix.setIdentityM(this, 0)
+ Matrix.rotateM(this, 0, 90f, 0f, 0f, 1f)
+ }
+
+ @Before
+ fun setUp() {
+ surfaceTexture1 = SurfaceTexture(1)
+ surface1 = Surface(surfaceTexture1)
+ surfaceTexture2 = SurfaceTexture(2)
+ surface2 = Surface(surfaceTexture2)
+ }
+
+ @After
+ fun tearDown() {
+ surface1.release()
+ surfaceTexture1.release()
+ surface2.release()
+ surfaceTexture2.release()
+ }
+
+ @Test
+ fun getLength_returnsCorrectLength() {
+ // Arrange: create 3 textures.
+ val textures = intArrayOf(1, 2, 3)
+ // Act: create the buffer.
+ val buffer = TextureFrameBuffer(textures)
+ // Assert: the length is 3.
+ assertThat(buffer.length).isEqualTo(3)
+ }
+
+ @Test
+ fun getFrameToRender_returnsNullIfNotFound() {
+ // Arrange: create a buffer with 1 texture and mark them occupied.
+ val buffer = TextureFrameBuffer(intArrayOf(1))
+ buffer.frameToFill.markFilled(TIMESTAMP_1, transform1, surface1)
+ // Act and assert: get frame with a different timestamp and it should be null.
+ assertThat(buffer.getFrameToRender(TIMESTAMP_2)).isNull()
+ }
+
+ @Test
+ fun getFrameToRender_markOlderFramesVacant() {
+ // Arrange: create a buffer with two textures and mark them occupied.
+ val buffer = TextureFrameBuffer(intArrayOf(1, 2))
+ val frames = fillBufferWithTwoFrames(buffer)
+
+ // Act: get frame2 for rendering.
+ assertThat(buffer.getFrameToRender(TIMESTAMP_2)).isSameInstanceAs(frames.second)
+
+ // Assert: frame1 is vacant now.
+ assertThat(frames.second.isEmpty).isFalse()
+ assertThat(frames.first.isEmpty).isTrue()
+ }
+
+ @Test
+ fun getFrameToFill_returnsOldestFrameWhenFull() {
+ // Arrange: create a full buffer.
+ val buffer = TextureFrameBuffer(intArrayOf(1, 2))
+ val frames = fillBufferWithTwoFrames(buffer)
+ // Act and assert: get frame to fill and it should be the first frame.
+ assertThat(buffer.frameToFill).isSameInstanceAs(frames.first)
+ }
+
+ @Test
+ fun getFrameToFill_returnsEmptyFrameWhenNotFull() {
+ // Arrange: create a full buffer.
+ val buffer = TextureFrameBuffer(intArrayOf(1, 2))
+ val frames = fillBufferWithTwoFrames(buffer)
+ // Mark the second frame empty.
+ frames.second.markEmpty()
+ // Act and assert: get frame to fill and it should be the second frame.
+ assertThat(buffer.frameToFill).isSameInstanceAs(frames.second)
+ }
+
+ private fun fillBufferWithTwoFrames(
+ buffer: TextureFrameBuffer
+ ): Pair<TextureFrame, TextureFrame> {
+ assertThat(buffer.length).isEqualTo(2)
+ // Fill frame 1.
+ val frame1 = buffer.frameToFill
+ assertThat(frame1.textureId).isEqualTo(1)
+ frame1.markFilled(TIMESTAMP_1, transform1, surface1)
+ // Fill frame 2.
+ val frame2 = buffer.frameToFill
+ assertThat(frame2.textureId).isEqualTo(2)
+ frame2.markFilled(TIMESTAMP_2, transform2, surface2)
+ return Pair(frame1, frame2)
+ }
+}
diff --git a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/layoutanimation/ContainerTransform.kt b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/layoutanimation/ContainerTransform.kt
index e2bbcbd..cf03291 100644
--- a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/layoutanimation/ContainerTransform.kt
+++ b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/layoutanimation/ContainerTransform.kt
@@ -43,9 +43,9 @@
import androidx.compose.material.Text
import androidx.compose.material.TextField
import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.automirrored.filled.ArrowBack
import androidx.compose.material.icons.filled.AccountCircle
import androidx.compose.material.icons.filled.Add
-import androidx.compose.material.icons.filled.ArrowBack
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
@@ -210,7 +210,7 @@
} else {
Column(Modifier.fillMaxSize()) {
Icon(
- rememberVectorPainter(image = Icons.Default.ArrowBack),
+ rememberVectorPainter(image = Icons.AutoMirrored.Filled.ArrowBack),
null,
modifier = Modifier
.clickable {
diff --git a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/ScreenSizeChangeDemo.kt b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/ScreenSizeChangeDemo.kt
index 86f48ef..b0e17b7 100644
--- a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/ScreenSizeChangeDemo.kt
+++ b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/lookahead/ScreenSizeChangeDemo.kt
@@ -41,14 +41,14 @@
import androidx.compose.material.Surface
import androidx.compose.material.Text
import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.automirrored.filled.Send
+import androidx.compose.material.icons.automirrored.outlined.List
import androidx.compose.material.icons.filled.Delete
import androidx.compose.material.icons.filled.Menu
import androidx.compose.material.icons.filled.Notifications
import androidx.compose.material.icons.filled.Search
-import androidx.compose.material.icons.filled.Send
import androidx.compose.material.icons.outlined.Create
import androidx.compose.material.icons.outlined.Email
-import androidx.compose.material.icons.outlined.List
import androidx.compose.material.icons.outlined.Menu
import androidx.compose.material.icons.outlined.Star
import androidx.compose.runtime.Composable
@@ -419,8 +419,8 @@
}
Spacer(modifier = Modifier.size(20.dp))
Item(state, Icons.Outlined.Email, "Inbox", Color(0xffe8def8))
- Item(state, Icons.Outlined.List, "Articles")
- Item(state, Icons.Default.Send, "Direct Messages")
+ Item(state, Icons.AutoMirrored.Outlined.List, "Articles")
+ Item(state, Icons.AutoMirrored.Default.Send, "Direct Messages")
Item(state, Icons.Filled.Notifications, "Video Chat")
}
}
diff --git a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/visualinspection/SlideInContentVariedSizes.kt b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/visualinspection/SlideInContentVariedSizes.kt
index 134949f..81858c2 100644
--- a/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/visualinspection/SlideInContentVariedSizes.kt
+++ b/compose/animation/animation/integration-tests/animation-demos/src/main/java/androidx/compose/animation/demos/visualinspection/SlideInContentVariedSizes.kt
@@ -40,8 +40,8 @@
import androidx.compose.material.Icon
import androidx.compose.material.Text
import androidx.compose.material.icons.Icons
-import androidx.compose.material.icons.filled.ArrowBack
-import androidx.compose.material.icons.filled.ArrowForward
+import androidx.compose.material.icons.automirrored.filled.ArrowBack
+import androidx.compose.material.icons.automirrored.filled.ArrowForward
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
@@ -123,13 +123,13 @@
horizontalArrangement = Arrangement.SpaceBetween
) {
Icon(
- Icons.Default.ArrowBack, contentDescription = null,
+ Icons.AutoMirrored.Default.ArrowBack, contentDescription = null,
Modifier.clickable {
contentState = PaneState.values()[max(0, contentState.ordinal - 1)]
}.padding(top = 300.dp, bottom = 300.dp, end = 60.dp)
)
Icon(
- Icons.Default.ArrowForward, contentDescription = null,
+ Icons.AutoMirrored.Default.ArrowForward, contentDescription = null,
Modifier.clickable {
contentState = PaneState.values()[min(2, contentState.ordinal + 1)]
}.padding(top = 300.dp, bottom = 300.dp, start = 60.dp)
diff --git a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/PlatformTextInputAdapterDemo.kt b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/PlatformTextInputAdapterDemo.kt
index 01395db..ec299d1 100644
--- a/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/PlatformTextInputAdapterDemo.kt
+++ b/compose/foundation/foundation/integration-tests/foundation-demos/src/main/java/androidx/compose/foundation/demos/text/PlatformTextInputAdapterDemo.kt
@@ -39,8 +39,8 @@
import androidx.compose.material.Text
import androidx.compose.material.TextField
import androidx.compose.material.icons.Icons
-import androidx.compose.material.icons.filled.KeyboardArrowLeft
-import androidx.compose.material.icons.filled.KeyboardArrowRight
+import androidx.compose.material.icons.automirrored.filled.KeyboardArrowLeft
+import androidx.compose.material.icons.automirrored.filled.KeyboardArrowRight
import androidx.compose.runtime.Composable
import androidx.compose.runtime.collection.mutableVectorOf
import androidx.compose.runtime.getValue
@@ -105,14 +105,14 @@
.coerceIn(0, textFieldState.buffer.length)
textFieldState.selection = TextRange(newCursor)
}) {
- Image(Icons.Default.KeyboardArrowLeft, contentDescription = "left")
+ Image(Icons.AutoMirrored.Filled.KeyboardArrowLeft, contentDescription = "backward")
}
IconButton(onClick = {
val newCursor = (textFieldState.selection.end + 1)
.coerceIn(0, textFieldState.buffer.length)
textFieldState.selection = TextRange(newCursor)
}) {
- Image(Icons.Default.KeyboardArrowRight, contentDescription = "right")
+ Image(Icons.AutoMirrored.Filled.KeyboardArrowRight, contentDescription = "forward")
}
}
}
diff --git a/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/DemoApp.kt b/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/DemoApp.kt
index 84494d8..7dbf951 100644
--- a/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/DemoApp.kt
+++ b/compose/integration-tests/demos/src/main/java/androidx/compose/integration/demos/DemoApp.kt
@@ -39,8 +39,7 @@
import androidx.compose.integration.demos.common.allLaunchableDemos
import androidx.compose.material.LocalContentColor
import androidx.compose.material.icons.Icons
-import androidx.compose.material.icons.filled.ArrowBack
-import androidx.compose.material.icons.filled.ArrowForward
+import androidx.compose.material.icons.automirrored.filled.ArrowBack
import androidx.compose.material.icons.filled.Search
import androidx.compose.material.icons.filled.Settings
import androidx.compose.material3.ExperimentalMaterial3Api
@@ -63,9 +62,7 @@
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.input.nestedscroll.nestedScroll
-import androidx.compose.ui.platform.LocalLayoutDirection
import androidx.compose.ui.platform.testTag
-import androidx.compose.ui.unit.LayoutDirection
import androidx.compose.ui.unit.dp
import androidx.compose.ui.viewinterop.AndroidView
import androidx.fragment.app.FragmentActivity
@@ -259,12 +256,8 @@
private object AppBarIcons {
@Composable
fun Back(onClick: () -> Unit) {
- val icon = when (LocalLayoutDirection.current) {
- LayoutDirection.Ltr -> Icons.Filled.ArrowBack
- LayoutDirection.Rtl -> Icons.Filled.ArrowForward
- }
IconButton(onClick = onClick) {
- Icon(icon, null)
+ Icon(Icons.AutoMirrored.Filled.ArrowBack, null)
}
}
diff --git a/compose/integration-tests/material-catalog/src/main/java/androidx/compose/material/catalog/ui/specification/SpecificationItem.kt b/compose/integration-tests/material-catalog/src/main/java/androidx/compose/material/catalog/ui/specification/SpecificationItem.kt
index f57c613..9588385 100644
--- a/compose/integration-tests/material-catalog/src/main/java/androidx/compose/material/catalog/ui/specification/SpecificationItem.kt
+++ b/compose/integration-tests/material-catalog/src/main/java/androidx/compose/material/catalog/ui/specification/SpecificationItem.kt
@@ -23,7 +23,7 @@
import androidx.compose.foundation.layout.padding
import androidx.compose.material.catalog.model.Specification
import androidx.compose.material.icons.Icons
-import androidx.compose.material.icons.filled.KeyboardArrowRight
+import androidx.compose.material.icons.automirrored.filled.KeyboardArrowRight
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Icon
import androidx.compose.material3.MaterialTheme
@@ -63,7 +63,7 @@
)
}
Icon(
- imageVector = Icons.Default.KeyboardArrowRight,
+ imageVector = Icons.AutoMirrored.Default.KeyboardArrowRight,
contentDescription = null,
modifier = Modifier.align(Alignment.CenterVertically)
)
diff --git a/compose/material/material-icons-core/api/current.txt b/compose/material/material-icons-core/api/current.txt
index b95d770..e9e6d3b 100644
--- a/compose/material/material-icons-core/api/current.txt
+++ b/compose/material/material-icons-core/api/current.txt
@@ -7,6 +7,32 @@
field public static final androidx.compose.material.icons.Icons INSTANCE;
}
+ public static final class Icons.AutoMirrored {
+ method public androidx.compose.material.icons.Icons.AutoMirrored.Filled getDefault();
+ property public final androidx.compose.material.icons.Icons.AutoMirrored.Filled Default;
+ field public static final androidx.compose.material.icons.Icons.AutoMirrored INSTANCE;
+ }
+
+ public static final class Icons.AutoMirrored.Filled {
+ field public static final androidx.compose.material.icons.Icons.AutoMirrored.Filled INSTANCE;
+ }
+
+ public static final class Icons.AutoMirrored.Outlined {
+ field public static final androidx.compose.material.icons.Icons.AutoMirrored.Outlined INSTANCE;
+ }
+
+ public static final class Icons.AutoMirrored.Rounded {
+ field public static final androidx.compose.material.icons.Icons.AutoMirrored.Rounded INSTANCE;
+ }
+
+ public static final class Icons.AutoMirrored.Sharp {
+ field public static final androidx.compose.material.icons.Icons.AutoMirrored.Sharp INSTANCE;
+ }
+
+ public static final class Icons.AutoMirrored.TwoTone {
+ field public static final androidx.compose.material.icons.Icons.AutoMirrored.TwoTone INSTANCE;
+ }
+
public static final class Icons.Filled {
field public static final androidx.compose.material.icons.Icons.Filled INSTANCE;
}
@@ -28,12 +54,173 @@
}
public final class IconsKt {
+ method public static inline androidx.compose.ui.graphics.vector.ImageVector materialIcon(String name, boolean autoMirror, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.vector.ImageVector.Builder,androidx.compose.ui.graphics.vector.ImageVector.Builder> block);
method public static inline androidx.compose.ui.graphics.vector.ImageVector materialIcon(String name, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.vector.ImageVector.Builder,androidx.compose.ui.graphics.vector.ImageVector.Builder> block);
method public static inline androidx.compose.ui.graphics.vector.ImageVector.Builder materialPath(androidx.compose.ui.graphics.vector.ImageVector.Builder, optional float fillAlpha, optional float strokeAlpha, optional int pathFillType, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.vector.PathBuilder,kotlin.Unit> pathBuilder);
}
}
+package androidx.compose.material.icons.automirrored.filled {
+
+ public final class ArrowBackKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.AutoMirrored.Filled);
+ }
+
+ public final class ArrowForwardKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.AutoMirrored.Filled);
+ }
+
+ public final class ExitToAppKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.AutoMirrored.Filled);
+ }
+
+ public final class KeyboardArrowLeftKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.AutoMirrored.Filled);
+ }
+
+ public final class KeyboardArrowRightKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.AutoMirrored.Filled);
+ }
+
+ public final class ListKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.AutoMirrored.Filled);
+ }
+
+ public final class SendKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.AutoMirrored.Filled);
+ }
+
+}
+
+package androidx.compose.material.icons.automirrored.outlined {
+
+ public final class ArrowBackKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.AutoMirrored.Outlined);
+ }
+
+ public final class ArrowForwardKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.AutoMirrored.Outlined);
+ }
+
+ public final class ExitToAppKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.AutoMirrored.Outlined);
+ }
+
+ public final class KeyboardArrowLeftKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.AutoMirrored.Outlined);
+ }
+
+ public final class KeyboardArrowRightKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.AutoMirrored.Outlined);
+ }
+
+ public final class ListKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.AutoMirrored.Outlined);
+ }
+
+ public final class SendKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.AutoMirrored.Outlined);
+ }
+
+}
+
+package androidx.compose.material.icons.automirrored.rounded {
+
+ public final class ArrowBackKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.AutoMirrored.Rounded);
+ }
+
+ public final class ArrowForwardKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.AutoMirrored.Rounded);
+ }
+
+ public final class ExitToAppKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.AutoMirrored.Rounded);
+ }
+
+ public final class KeyboardArrowLeftKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.AutoMirrored.Rounded);
+ }
+
+ public final class KeyboardArrowRightKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.AutoMirrored.Rounded);
+ }
+
+ public final class ListKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.AutoMirrored.Rounded);
+ }
+
+ public final class SendKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.AutoMirrored.Rounded);
+ }
+
+}
+
+package androidx.compose.material.icons.automirrored.sharp {
+
+ public final class ArrowBackKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.AutoMirrored.Sharp);
+ }
+
+ public final class ArrowForwardKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.AutoMirrored.Sharp);
+ }
+
+ public final class ExitToAppKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.AutoMirrored.Sharp);
+ }
+
+ public final class KeyboardArrowLeftKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.AutoMirrored.Sharp);
+ }
+
+ public final class KeyboardArrowRightKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.AutoMirrored.Sharp);
+ }
+
+ public final class ListKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.AutoMirrored.Sharp);
+ }
+
+ public final class SendKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.AutoMirrored.Sharp);
+ }
+
+}
+
+package androidx.compose.material.icons.automirrored.twotone {
+
+ public final class ArrowBackKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.AutoMirrored.TwoTone);
+ }
+
+ public final class ArrowForwardKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.AutoMirrored.TwoTone);
+ }
+
+ public final class ExitToAppKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.AutoMirrored.TwoTone);
+ }
+
+ public final class KeyboardArrowLeftKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.AutoMirrored.TwoTone);
+ }
+
+ public final class KeyboardArrowRightKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.AutoMirrored.TwoTone);
+ }
+
+ public final class ListKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.AutoMirrored.TwoTone);
+ }
+
+ public final class SendKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.AutoMirrored.TwoTone);
+ }
+
+}
+
package androidx.compose.material.icons.filled {
public final class AccountBoxKt {
@@ -53,7 +240,7 @@
}
public final class ArrowBackKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Filled);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Filled);
}
public final class ArrowDropDownKt {
@@ -61,7 +248,7 @@
}
public final class ArrowForwardKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Filled);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Filled);
}
public final class BuildKt {
@@ -113,7 +300,7 @@
}
public final class ExitToAppKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Filled);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Filled);
}
public final class FaceKt {
@@ -141,11 +328,11 @@
}
public final class KeyboardArrowLeftKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Filled);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Filled);
}
public final class KeyboardArrowRightKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Filled);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Filled);
}
public final class KeyboardArrowUpKt {
@@ -153,7 +340,7 @@
}
public final class ListKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Filled);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Filled);
}
public final class LocationOnKt {
@@ -205,7 +392,7 @@
}
public final class SendKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Filled);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Filled);
}
public final class SettingsKt {
@@ -253,7 +440,7 @@
}
public final class ArrowBackKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Outlined);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Outlined);
}
public final class ArrowDropDownKt {
@@ -261,7 +448,7 @@
}
public final class ArrowForwardKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Outlined);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Outlined);
}
public final class BuildKt {
@@ -313,7 +500,7 @@
}
public final class ExitToAppKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Outlined);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Outlined);
}
public final class FaceKt {
@@ -341,11 +528,11 @@
}
public final class KeyboardArrowLeftKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Outlined);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Outlined);
}
public final class KeyboardArrowRightKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Outlined);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Outlined);
}
public final class KeyboardArrowUpKt {
@@ -353,7 +540,7 @@
}
public final class ListKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Outlined);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Outlined);
}
public final class LocationOnKt {
@@ -405,7 +592,7 @@
}
public final class SendKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Outlined);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Outlined);
}
public final class SettingsKt {
@@ -453,7 +640,7 @@
}
public final class ArrowBackKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Rounded);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Rounded);
}
public final class ArrowDropDownKt {
@@ -461,7 +648,7 @@
}
public final class ArrowForwardKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Rounded);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Rounded);
}
public final class BuildKt {
@@ -513,7 +700,7 @@
}
public final class ExitToAppKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Rounded);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Rounded);
}
public final class FaceKt {
@@ -541,11 +728,11 @@
}
public final class KeyboardArrowLeftKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Rounded);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Rounded);
}
public final class KeyboardArrowRightKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Rounded);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Rounded);
}
public final class KeyboardArrowUpKt {
@@ -553,7 +740,7 @@
}
public final class ListKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Rounded);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Rounded);
}
public final class LocationOnKt {
@@ -605,7 +792,7 @@
}
public final class SendKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Rounded);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Rounded);
}
public final class SettingsKt {
@@ -653,7 +840,7 @@
}
public final class ArrowBackKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Sharp);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Sharp);
}
public final class ArrowDropDownKt {
@@ -661,7 +848,7 @@
}
public final class ArrowForwardKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Sharp);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Sharp);
}
public final class BuildKt {
@@ -713,7 +900,7 @@
}
public final class ExitToAppKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Sharp);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Sharp);
}
public final class FaceKt {
@@ -741,11 +928,11 @@
}
public final class KeyboardArrowLeftKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Sharp);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Sharp);
}
public final class KeyboardArrowRightKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Sharp);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Sharp);
}
public final class KeyboardArrowUpKt {
@@ -753,7 +940,7 @@
}
public final class ListKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Sharp);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Sharp);
}
public final class LocationOnKt {
@@ -805,7 +992,7 @@
}
public final class SendKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Sharp);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Sharp);
}
public final class SettingsKt {
@@ -853,7 +1040,7 @@
}
public final class ArrowBackKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.TwoTone);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.TwoTone);
}
public final class ArrowDropDownKt {
@@ -861,7 +1048,7 @@
}
public final class ArrowForwardKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.TwoTone);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.TwoTone);
}
public final class BuildKt {
@@ -913,7 +1100,7 @@
}
public final class ExitToAppKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.TwoTone);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.TwoTone);
}
public final class FaceKt {
@@ -941,11 +1128,11 @@
}
public final class KeyboardArrowLeftKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.TwoTone);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.TwoTone);
}
public final class KeyboardArrowRightKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.TwoTone);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.TwoTone);
}
public final class KeyboardArrowUpKt {
@@ -953,7 +1140,7 @@
}
public final class ListKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.TwoTone);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.TwoTone);
}
public final class LocationOnKt {
@@ -1005,7 +1192,7 @@
}
public final class SendKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.TwoTone);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.TwoTone);
}
public final class SettingsKt {
diff --git a/compose/material/material-icons-core/api/restricted_current.txt b/compose/material/material-icons-core/api/restricted_current.txt
index 619d449..d5e5415 100644
--- a/compose/material/material-icons-core/api/restricted_current.txt
+++ b/compose/material/material-icons-core/api/restricted_current.txt
@@ -7,6 +7,32 @@
field public static final androidx.compose.material.icons.Icons INSTANCE;
}
+ public static final class Icons.AutoMirrored {
+ method public androidx.compose.material.icons.Icons.AutoMirrored.Filled getDefault();
+ property public final androidx.compose.material.icons.Icons.AutoMirrored.Filled Default;
+ field public static final androidx.compose.material.icons.Icons.AutoMirrored INSTANCE;
+ }
+
+ public static final class Icons.AutoMirrored.Filled {
+ field public static final androidx.compose.material.icons.Icons.AutoMirrored.Filled INSTANCE;
+ }
+
+ public static final class Icons.AutoMirrored.Outlined {
+ field public static final androidx.compose.material.icons.Icons.AutoMirrored.Outlined INSTANCE;
+ }
+
+ public static final class Icons.AutoMirrored.Rounded {
+ field public static final androidx.compose.material.icons.Icons.AutoMirrored.Rounded INSTANCE;
+ }
+
+ public static final class Icons.AutoMirrored.Sharp {
+ field public static final androidx.compose.material.icons.Icons.AutoMirrored.Sharp INSTANCE;
+ }
+
+ public static final class Icons.AutoMirrored.TwoTone {
+ field public static final androidx.compose.material.icons.Icons.AutoMirrored.TwoTone INSTANCE;
+ }
+
public static final class Icons.Filled {
field public static final androidx.compose.material.icons.Icons.Filled INSTANCE;
}
@@ -28,6 +54,7 @@
}
public final class IconsKt {
+ method public static inline androidx.compose.ui.graphics.vector.ImageVector materialIcon(String name, boolean autoMirror, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.vector.ImageVector.Builder,androidx.compose.ui.graphics.vector.ImageVector.Builder> block);
method public static inline androidx.compose.ui.graphics.vector.ImageVector materialIcon(String name, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.vector.ImageVector.Builder,androidx.compose.ui.graphics.vector.ImageVector.Builder> block);
method public static inline androidx.compose.ui.graphics.vector.ImageVector.Builder materialPath(androidx.compose.ui.graphics.vector.ImageVector.Builder, optional float fillAlpha, optional float strokeAlpha, optional int pathFillType, kotlin.jvm.functions.Function1<? super androidx.compose.ui.graphics.vector.PathBuilder,kotlin.Unit> pathBuilder);
field @kotlin.PublishedApi internal static final float MaterialIconDimension = 24.0f;
@@ -35,6 +62,166 @@
}
+package androidx.compose.material.icons.automirrored.filled {
+
+ public final class ArrowBackKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.AutoMirrored.Filled);
+ }
+
+ public final class ArrowForwardKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.AutoMirrored.Filled);
+ }
+
+ public final class ExitToAppKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.AutoMirrored.Filled);
+ }
+
+ public final class KeyboardArrowLeftKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.AutoMirrored.Filled);
+ }
+
+ public final class KeyboardArrowRightKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.AutoMirrored.Filled);
+ }
+
+ public final class ListKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.AutoMirrored.Filled);
+ }
+
+ public final class SendKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.AutoMirrored.Filled);
+ }
+
+}
+
+package androidx.compose.material.icons.automirrored.outlined {
+
+ public final class ArrowBackKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.AutoMirrored.Outlined);
+ }
+
+ public final class ArrowForwardKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.AutoMirrored.Outlined);
+ }
+
+ public final class ExitToAppKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.AutoMirrored.Outlined);
+ }
+
+ public final class KeyboardArrowLeftKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.AutoMirrored.Outlined);
+ }
+
+ public final class KeyboardArrowRightKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.AutoMirrored.Outlined);
+ }
+
+ public final class ListKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.AutoMirrored.Outlined);
+ }
+
+ public final class SendKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.AutoMirrored.Outlined);
+ }
+
+}
+
+package androidx.compose.material.icons.automirrored.rounded {
+
+ public final class ArrowBackKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.AutoMirrored.Rounded);
+ }
+
+ public final class ArrowForwardKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.AutoMirrored.Rounded);
+ }
+
+ public final class ExitToAppKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.AutoMirrored.Rounded);
+ }
+
+ public final class KeyboardArrowLeftKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.AutoMirrored.Rounded);
+ }
+
+ public final class KeyboardArrowRightKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.AutoMirrored.Rounded);
+ }
+
+ public final class ListKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.AutoMirrored.Rounded);
+ }
+
+ public final class SendKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.AutoMirrored.Rounded);
+ }
+
+}
+
+package androidx.compose.material.icons.automirrored.sharp {
+
+ public final class ArrowBackKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.AutoMirrored.Sharp);
+ }
+
+ public final class ArrowForwardKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.AutoMirrored.Sharp);
+ }
+
+ public final class ExitToAppKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.AutoMirrored.Sharp);
+ }
+
+ public final class KeyboardArrowLeftKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.AutoMirrored.Sharp);
+ }
+
+ public final class KeyboardArrowRightKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.AutoMirrored.Sharp);
+ }
+
+ public final class ListKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.AutoMirrored.Sharp);
+ }
+
+ public final class SendKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.AutoMirrored.Sharp);
+ }
+
+}
+
+package androidx.compose.material.icons.automirrored.twotone {
+
+ public final class ArrowBackKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.AutoMirrored.TwoTone);
+ }
+
+ public final class ArrowForwardKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.AutoMirrored.TwoTone);
+ }
+
+ public final class ExitToAppKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.AutoMirrored.TwoTone);
+ }
+
+ public final class KeyboardArrowLeftKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.AutoMirrored.TwoTone);
+ }
+
+ public final class KeyboardArrowRightKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.AutoMirrored.TwoTone);
+ }
+
+ public final class ListKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.AutoMirrored.TwoTone);
+ }
+
+ public final class SendKt {
+ method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.AutoMirrored.TwoTone);
+ }
+
+}
+
package androidx.compose.material.icons.filled {
public final class AccountBoxKt {
@@ -54,7 +241,7 @@
}
public final class ArrowBackKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Filled);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Filled);
}
public final class ArrowDropDownKt {
@@ -62,7 +249,7 @@
}
public final class ArrowForwardKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Filled);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Filled);
}
public final class BuildKt {
@@ -114,7 +301,7 @@
}
public final class ExitToAppKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Filled);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Filled);
}
public final class FaceKt {
@@ -142,11 +329,11 @@
}
public final class KeyboardArrowLeftKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Filled);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Filled);
}
public final class KeyboardArrowRightKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Filled);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Filled);
}
public final class KeyboardArrowUpKt {
@@ -154,7 +341,7 @@
}
public final class ListKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Filled);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Filled);
}
public final class LocationOnKt {
@@ -206,7 +393,7 @@
}
public final class SendKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Filled);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Filled);
}
public final class SettingsKt {
@@ -254,7 +441,7 @@
}
public final class ArrowBackKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Outlined);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Outlined);
}
public final class ArrowDropDownKt {
@@ -262,7 +449,7 @@
}
public final class ArrowForwardKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Outlined);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Outlined);
}
public final class BuildKt {
@@ -314,7 +501,7 @@
}
public final class ExitToAppKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Outlined);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Outlined);
}
public final class FaceKt {
@@ -342,11 +529,11 @@
}
public final class KeyboardArrowLeftKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Outlined);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Outlined);
}
public final class KeyboardArrowRightKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Outlined);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Outlined);
}
public final class KeyboardArrowUpKt {
@@ -354,7 +541,7 @@
}
public final class ListKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Outlined);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Outlined);
}
public final class LocationOnKt {
@@ -406,7 +593,7 @@
}
public final class SendKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Outlined);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Outlined);
}
public final class SettingsKt {
@@ -454,7 +641,7 @@
}
public final class ArrowBackKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Rounded);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Rounded);
}
public final class ArrowDropDownKt {
@@ -462,7 +649,7 @@
}
public final class ArrowForwardKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Rounded);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Rounded);
}
public final class BuildKt {
@@ -514,7 +701,7 @@
}
public final class ExitToAppKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Rounded);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Rounded);
}
public final class FaceKt {
@@ -542,11 +729,11 @@
}
public final class KeyboardArrowLeftKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Rounded);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Rounded);
}
public final class KeyboardArrowRightKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Rounded);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Rounded);
}
public final class KeyboardArrowUpKt {
@@ -554,7 +741,7 @@
}
public final class ListKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Rounded);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Rounded);
}
public final class LocationOnKt {
@@ -606,7 +793,7 @@
}
public final class SendKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Rounded);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Rounded);
}
public final class SettingsKt {
@@ -654,7 +841,7 @@
}
public final class ArrowBackKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Sharp);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.Sharp);
}
public final class ArrowDropDownKt {
@@ -662,7 +849,7 @@
}
public final class ArrowForwardKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Sharp);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.Sharp);
}
public final class BuildKt {
@@ -714,7 +901,7 @@
}
public final class ExitToAppKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Sharp);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.Sharp);
}
public final class FaceKt {
@@ -742,11 +929,11 @@
}
public final class KeyboardArrowLeftKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Sharp);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.Sharp);
}
public final class KeyboardArrowRightKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Sharp);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.Sharp);
}
public final class KeyboardArrowUpKt {
@@ -754,7 +941,7 @@
}
public final class ListKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Sharp);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.Sharp);
}
public final class LocationOnKt {
@@ -806,7 +993,7 @@
}
public final class SendKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Sharp);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.Sharp);
}
public final class SettingsKt {
@@ -854,7 +1041,7 @@
}
public final class ArrowBackKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.TwoTone);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getArrowBack(androidx.compose.material.icons.Icons.TwoTone);
}
public final class ArrowDropDownKt {
@@ -862,7 +1049,7 @@
}
public final class ArrowForwardKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.TwoTone);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getArrowForward(androidx.compose.material.icons.Icons.TwoTone);
}
public final class BuildKt {
@@ -914,7 +1101,7 @@
}
public final class ExitToAppKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.TwoTone);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getExitToApp(androidx.compose.material.icons.Icons.TwoTone);
}
public final class FaceKt {
@@ -942,11 +1129,11 @@
}
public final class KeyboardArrowLeftKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.TwoTone);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowLeft(androidx.compose.material.icons.Icons.TwoTone);
}
public final class KeyboardArrowRightKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.TwoTone);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getKeyboardArrowRight(androidx.compose.material.icons.Icons.TwoTone);
}
public final class KeyboardArrowUpKt {
@@ -954,7 +1141,7 @@
}
public final class ListKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.TwoTone);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getList(androidx.compose.material.icons.Icons.TwoTone);
}
public final class LocationOnKt {
@@ -1006,7 +1193,7 @@
}
public final class SendKt {
- method public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.TwoTone);
+ method @Deprecated public static androidx.compose.ui.graphics.vector.ImageVector getSend(androidx.compose.material.icons.Icons.TwoTone);
}
public final class SettingsKt {
diff --git a/compose/material/material-icons-core/samples/src/main/java/androidx/compose/material/icons/samples/IconSamples.kt b/compose/material/material-icons-core/samples/src/main/java/androidx/compose/material/icons/samples/IconSamples.kt
index 36b37ac..7793cc0 100644
--- a/compose/material/material-icons-core/samples/src/main/java/androidx/compose/material/icons/samples/IconSamples.kt
+++ b/compose/material/material-icons-core/samples/src/main/java/androidx/compose/material/icons/samples/IconSamples.kt
@@ -20,6 +20,7 @@
import androidx.compose.foundation.layout.Box
import androidx.compose.material.Icon
import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.automirrored.outlined.ArrowForward
import androidx.compose.material.icons.rounded.Menu
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
@@ -41,6 +42,13 @@
Icon(Icons.Rounded.Menu, contentDescription = "Localized description")
}
+@Sampled
+@Composable
+fun AutoMirroredIcon() {
+ // This icon will be mirrored when the LayoutDirection is Rtl.
+ Icon(Icons.AutoMirrored.Outlined.ArrowForward, contentDescription = "Localized description")
+}
+
@Composable
private fun SomeComposable(icon: ImageVector) {
Box(Modifier.paint(rememberVectorPainter(icon)))
diff --git a/compose/material/material-icons-core/src/commonMain/kotlin/androidx/compose/material/icons/Icons.kt b/compose/material/material-icons-core/src/commonMain/kotlin/androidx/compose/material/icons/Icons.kt
index 813f3ad..3573a8d 100644
--- a/compose/material/material-icons-core/src/commonMain/kotlin/androidx/compose/material/icons/Icons.kt
+++ b/compose/material/material-icons-core/src/commonMain/kotlin/androidx/compose/material/icons/Icons.kt
@@ -98,6 +98,87 @@
object Sharp
/**
+ * <a href="https://material.io/design/iconography/system-icons.html" class="external" target="_blank">Material Design system icons</a>
+ * as seen on
+ * <a href="https://fonts.google.com/icons" class="external" target="_blank">Google Fonts</a>.
+ *
+ * ![Iconography image](https://developer.android.com/images/reference/androidx/compose/material/icons/iconography.png)
+ *
+ * Languages such as Arabic and Hebrew are read from right-to-left (RTL). For RTL languages,
+ * some of the icons should be mirrored when their direction matches other UI elements in RTL
+ * mode.
+ * The [AutoMirrored] icons are a subset of [Icons] that will automatically mirror themselves
+ * when displayed in an RTL layout.
+ *
+ * See also
+ * <a href="https://developers.google.com/fonts/docs/material_icons#which_icons_should_be_mirrored_for_rtl" class="external" target="_blank">Icons in RTL</a>.
+ *
+ * There are five distinct icon themes: [AutoMirrored.Filled], [AutoMirrored.Outlined],
+ * [AutoMirrored.Rounded], [AutoMirrored.TwoTone], and [AutoMirrored.Sharp].
+ * Each theme contains the same icons, but with a distinct visual style. You should typically
+ * choose one theme and use it across your application for consistency. For example, you may
+ * want to use a property or a typealias to refer to a specific theme, so it can be accessed in
+ * a semantically meaningful way from inside other composables.
+ *
+ * Icons maintain the same names defined by Material, but with their snake_case name converted
+ * to PascalCase. For example: add_alarm becomes AddAlarm.
+ *
+ * Note: Icons that start with a number, such as `360`, are prefixed with a '_', becoming
+ * '_360'.
+ *
+ * To draw an icon, you can use an [androidx.compose.material.Icon]. This component applies tint
+ * and provides layout size matching the icon.
+ *
+ * @sample androidx.compose.material.icons.samples.AutoMirroredIcon
+ *
+ * Note that only the most commonly used icons are provided by default. You can add a dependency
+ * on androidx.compose.material:material-icons-extended to access every icon, but note that due
+ * to the very large size of this dependency you should make sure to use R8 / ProGuard to remove
+ * unused icons from your application.
+ */
+ object AutoMirrored {
+ /**
+ * [Filled icons](https://material.io/resources/icons/?style=baseline)are the default icon
+ * theme. You can also use [Default] as an alias for these icons.
+ */
+ object Filled
+
+ /**
+ * [Outlined icons](https://material.io/resources/icons/?style=outline) make use of a thin
+ * stroke and empty space inside for a lighter appearance.
+ */
+ object Outlined
+
+ /**
+ * [Rounded icons](https://material.io/resources/icons/?style=round) use a corner radius
+ * that pairs well with brands that use heavier typography, curved logos, or circular
+ * elements to express their style.
+ */
+ object Rounded
+
+ /**
+ * [Two-Tone icons](https://material.io/resources/icons/?style=twotone) display corners with
+ * straight edges, for a crisp style that remains legible even at smaller scales. These
+ * rectangular shapes can support brand styles that are not well-reflected by rounded
+ * shapes.
+ */
+ object TwoTone
+
+ /**
+ * [Sharp icons](https://material.io/resources/icons/?style=sharp) display corners with
+ * straight edges, for a crisp style that remains legible even at smaller scales. These
+ * rectangular shapes can support brand styles that are not well-reflected by rounded
+ * shapes.
+ */
+ object Sharp
+
+ /**
+ * Alias for [AutoMirrored.Filled], the baseline icon theme.
+ */
+ val Default = Filled
+ }
+
+ /**
* Alias for [Filled], the baseline icon theme.
*/
val Default = Filled
@@ -113,12 +194,28 @@
inline fun materialIcon(
name: String,
block: ImageVector.Builder.() -> ImageVector.Builder
+): ImageVector = materialIcon(name = name, autoMirror = false, block = block)
+
+/**
+ * Utility delegate to construct a Material icon with default size information.
+ * This is used by generated icons, and should not be used manually.
+ *
+ * @param name the full name of the generated icon
+ * @param autoMirror determines if the vector asset should automatically be mirrored for right to
+ * left locales
+ * @param block builder lambda to add paths to this vector asset
+ */
+inline fun materialIcon(
+ name: String,
+ autoMirror: Boolean,
+ block: ImageVector.Builder.() -> ImageVector.Builder
): ImageVector = ImageVector.Builder(
name = name,
defaultWidth = MaterialIconDimension.dp,
defaultHeight = MaterialIconDimension.dp,
viewportWidth = MaterialIconDimension,
- viewportHeight = MaterialIconDimension
+ viewportHeight = MaterialIconDimension,
+ autoMirror = autoMirror
).block().build()
/**
@@ -135,8 +232,8 @@
pathFillType: PathFillType = DefaultFillType,
pathBuilder: PathBuilder.() -> Unit
) =
- // TODO: b/146213225
- // Some of these defaults are already set when parsing from XML, but do not currently exist
+// TODO: b/146213225
+// Some of these defaults are already set when parsing from XML, but do not currently exist
// when added programmatically. We should unify these and simplify them where possible.
path(
fill = SolidColor(Color.Black),
diff --git a/compose/material/material-icons-extended/src/androidAndroidTest/kotlin/androidx/compose/material/icons/BaseIconComparisonTest.kt b/compose/material/material-icons-extended/src/androidAndroidTest/kotlin/androidx/compose/material/icons/BaseIconComparisonTest.kt
index 0f4eae7d..f97de49 100644
--- a/compose/material/material-icons-extended/src/androidAndroidTest/kotlin/androidx/compose/material/icons/BaseIconComparisonTest.kt
+++ b/compose/material/material-icons-extended/src/androidAndroidTest/kotlin/androidx/compose/material/icons/BaseIconComparisonTest.kt
@@ -25,6 +25,7 @@
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.size
import androidx.compose.runtime.Composable
+import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.paint
@@ -37,11 +38,13 @@
import androidx.compose.ui.graphics.vector.rememberVectorPainter
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.platform.LocalDensity
+import androidx.compose.ui.platform.LocalLayoutDirection
import androidx.compose.ui.platform.testTag
import androidx.compose.ui.res.vectorResource
import androidx.compose.ui.test.captureToImage
import androidx.compose.ui.test.junit4.createAndroidComposeRule
import androidx.compose.ui.test.onNodeWithTag
+import androidx.compose.ui.unit.LayoutDirection
import androidx.test.filters.SdkSuppress
import androidx.test.screenshot.matchers.MSSIMMatcher
import com.google.common.truth.Truth
@@ -50,7 +53,9 @@
import org.junit.Rule
const val ProgrammaticTestTag = "programmatic"
+const val ProgrammaticRtlTestTag = "programmatic_rtl"
const val XmlTestTag = "Xml"
+const val XmlRtlTestTag = "Xml_rtl"
/**
* Base class for Material [androidx.compose.material.icons.Icons] tests.
@@ -82,7 +87,17 @@
// The XML inflated ImageVector doesn't have a name, and we set a name in the
// programmatic ImageVector. This doesn't affect how the ImageVector is drawn, so we
// make sure the names match so the comparison does not fail.
- xmlVector = xmlVector!!.copy(name = programmaticVector.name)
+ // Also, match the autoMirror value of the XML vector to that of the programmatic
+ // ImageVector. The set of icons that are passed into the test includes deprecated icons
+ // that were generated from the same set of XML vectors used to create the auto-mirrored
+ // icons. These XMLs have an `autoMirrored` attribute where applicable, so with this
+ // copy we specifically ensure that the XML flag is turned off when compared to
+ // deprecated icons that were generated while ignoring the flag for backward
+ // compatibility.
+ xmlVector = xmlVector!!.copy(
+ name = programmaticVector.name,
+ autoMirror = programmaticVector.autoMirror
+ )
assertImageVectorsAreEqual(xmlVector!!, programmaticVector, iconName)
@@ -92,6 +107,14 @@
iconName
)
+ if (programmaticVector.autoMirror) {
+ matcher.assertBitmapsAreEqual(
+ rule.onNodeWithTag(XmlRtlTestTag).captureToImage().asAndroidBitmap(),
+ rule.onNodeWithTag(ProgrammaticRtlTestTag).captureToImage().asAndroidBitmap(),
+ iconName
+ )
+ }
+
// Dispose between composing each pair of icons to ensure correctness
rule.activityRule.scenario.onActivity {
it.setContentView(View(it))
@@ -104,9 +127,16 @@
* Helper method to copy the existing [ImageVector] modifying the name
* for use in equality checks.
*/
-private fun ImageVector.copy(name: String): ImageVector {
+private fun ImageVector.copy(name: String, autoMirror: Boolean): ImageVector {
val builder = ImageVector.Builder(
- name, defaultWidth, defaultHeight, viewportWidth, viewportHeight, tintColor, tintBlendMode
+ name,
+ defaultWidth,
+ defaultHeight,
+ viewportWidth,
+ viewportHeight,
+ tintColor,
+ tintBlendMode,
+ autoMirror
)
val root = this.root
// Stack of vector groups and current child index being traversed
@@ -265,6 +295,27 @@
)
.testTag(XmlTestTag)
)
+ if (programmaticVector.autoMirror) {
+ // Compose in RTL.
+ CompositionLocalProvider(LocalLayoutDirection provides LayoutDirection.Rtl) {
+ Box(
+ modifier = layoutSize
+ .paint(
+ rememberVectorPainter(programmaticVector),
+ colorFilter = ColorFilter.tint(Color.Red)
+ )
+ .testTag(ProgrammaticRtlTestTag)
+ )
+ Box(
+ modifier = layoutSize
+ .paint(
+ rememberVectorPainter(xmlVector),
+ colorFilter = ColorFilter.tint(Color.Red)
+ )
+ .testTag(XmlRtlTestTag)
+ )
+ }
+ }
}
}
}
diff --git a/compose/material/material-icons-extended/src/androidAndroidTest/kotlin/androidx/compose/material/icons/CoreAutoMirroredIconComparisonTest.kt b/compose/material/material-icons-extended/src/androidAndroidTest/kotlin/androidx/compose/material/icons/CoreAutoMirroredIconComparisonTest.kt
new file mode 100644
index 0000000..5ccf3bf
--- /dev/null
+++ b/compose/material/material-icons-extended/src/androidAndroidTest/kotlin/androidx/compose/material/icons/CoreAutoMirroredIconComparisonTest.kt
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.compose.material.icons
+
+import android.os.Build
+import androidx.compose.ui.graphics.vector.ImageVector
+import androidx.test.filters.LargeTest
+import androidx.test.filters.SdkSuppress
+import kotlin.reflect.KProperty0
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.junit.runners.Parameterized
+
+/**
+ * Test to ensure equality (both structurally, and visually) between programmatically generated core
+ * Material [androidx.compose.material.icons.Icons.AutoMirrored] and their XML source.
+ */
+@Suppress("unused")
+@SdkSuppress(minSdkVersion = Build.VERSION_CODES.O)
+@LargeTest
+@RunWith(Parameterized::class)
+class CoreAutoMirroredIconComparisonTest(
+ private val iconSublist: List<Pair<KProperty0<ImageVector>, String>>,
+ private val debugParameterName: String
+) : BaseIconComparisonTest() {
+
+ companion object {
+
+ @JvmStatic
+ @Parameterized.Parameters(name = "{1}")
+ fun initIconSublist(): Array<Array<Any>> {
+ return arrayOf(arrayOf(AllCoreAutoMirroredIcons, "1 of 1"))
+ }
+ }
+
+ @Test
+ fun compareImageVectors() {
+ compareImageVectors(iconSublist)
+ }
+}
diff --git a/compose/material/material-icons-extended/src/androidAndroidTest/kotlin/androidx/compose/material/icons/CoreIconComparisonTest.kt b/compose/material/material-icons-extended/src/androidAndroidTest/kotlin/androidx/compose/material/icons/CoreIconComparisonTest.kt
index a123d23..4e4c5c86 100644
--- a/compose/material/material-icons-extended/src/androidAndroidTest/kotlin/androidx/compose/material/icons/CoreIconComparisonTest.kt
+++ b/compose/material/material-icons-extended/src/androidAndroidTest/kotlin/androidx/compose/material/icons/CoreIconComparisonTest.kt
@@ -58,7 +58,7 @@
val listSize = ceil(AllCoreIcons.size / numberOfChunks.toFloat()).roundToInt()
val subLists = AllCoreIcons.chunked(listSize)
return subLists.mapIndexed { index, list ->
- arrayOf(list, "${index + 1}of$numberOfChunks")
+ arrayOf(list, "${index + 1} of $numberOfChunks")
}.toTypedArray()
}
}
diff --git a/compose/material/material-icons-extended/src/androidAndroidTest/kotlin/androidx/compose/material/icons/ExtendedAutoMirroredIconComparisonTest.kt b/compose/material/material-icons-extended/src/androidAndroidTest/kotlin/androidx/compose/material/icons/ExtendedAutoMirroredIconComparisonTest.kt
new file mode 100644
index 0000000..38d07e5
--- /dev/null
+++ b/compose/material/material-icons-extended/src/androidAndroidTest/kotlin/androidx/compose/material/icons/ExtendedAutoMirroredIconComparisonTest.kt
@@ -0,0 +1,76 @@
+/*
+ * Copyright 2023 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package androidx.compose.material.icons
+
+import android.os.Build
+import androidx.compose.ui.graphics.vector.ImageVector
+import androidx.test.filters.LargeTest
+import androidx.test.filters.SdkSuppress
+import kotlin.math.ceil
+import kotlin.math.roundToInt
+import kotlin.reflect.KProperty0
+import org.junit.Ignore
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.junit.runners.Parameterized
+
+/**
+ * Test to ensure equality (both structurally, and visually) between programmatically generated
+ * extended Material [androidx.compose.material.icons.Icons.AutoMirrored] and their XML source.
+ */
+@Suppress("unused")
+@SdkSuppress(minSdkVersion = Build.VERSION_CODES.O)
+@LargeTest
+@RunWith(Parameterized::class)
+class ExtendedAutoMirroredIconComparisonTest(
+ private val iconSublist: List<Pair<KProperty0<ImageVector>, String>>,
+ private val debugParameterName: String
+) : BaseIconComparisonTest() {
+
+ companion object {
+ /**
+ * Arbitrarily split [AllExtendedAutoMirroredIcons] into equal parts. This is needed as one
+ * test with the whole of [AllExtendedAutoMirroredIcons] will exceed the timeout allowed for
+ * a test in CI, so we split it up to stay under the limit.
+ *
+ * Additionally, we run large batches of comparisons per method, instead of one icon per
+ * method, so that we can re-use the same Activity instance between test runs. Most of the
+ * cost of a simple test like this is in Activity instantiation so re-using the same
+ * activity reduces time to run this test ~tenfold.
+ */
+ @JvmStatic
+ @Parameterized.Parameters(name = "{1}")
+ fun initIconSublist(): Array<Array<Any>> {
+ val numberOfChunks = 4
+ val listSize =
+ ceil(AllExtendedAutoMirroredIcons.size / numberOfChunks.toFloat()).roundToInt()
+ val subLists = AllExtendedAutoMirroredIcons.chunked(listSize)
+ return subLists.mapIndexed { index, list ->
+ arrayOf(list, "${index + 1} of $numberOfChunks")
+ }.toTypedArray()
+ }
+ }
+
+ @Ignore(
+ "For performance reasons, and to be able to disable the extended icons tests on " +
+ "AOSP. Make sure to execute locally after updating the extended Material icons."
+ )
+ @Test
+ fun compareImageVectors() {
+ compareImageVectors(iconSublist)
+ }
+}
diff --git a/compose/material/material-icons-extended/src/androidAndroidTest/kotlin/androidx/compose/material/icons/ExtendedIconComparisonTest.kt b/compose/material/material-icons-extended/src/androidAndroidTest/kotlin/androidx/compose/material/icons/ExtendedIconComparisonTest.kt
index 22e4f3b..c7dff96 100644
--- a/compose/material/material-icons-extended/src/androidAndroidTest/kotlin/androidx/compose/material/icons/ExtendedIconComparisonTest.kt
+++ b/compose/material/material-icons-extended/src/androidAndroidTest/kotlin/androidx/compose/material/icons/ExtendedIconComparisonTest.kt
@@ -59,13 +59,15 @@
val listSize = ceil(AllExtendedIcons.size / numberOfChunks.toFloat()).roundToInt()
val subLists = AllExtendedIcons.chunked(listSize)
return subLists.mapIndexed { index, list ->
- arrayOf(list, "${index + 1}of$numberOfChunks")
+ arrayOf(list, "${index + 1} of $numberOfChunks")
}.toTypedArray()
}
}
- @Ignore("For performance reasons, and to be able to disable the extended icons tests on " +
- "AOSP. Make sure to execute locally after updating the extended Material icons.")
+ @Ignore(
+ "For performance reasons, and to be able to disable the extended icons tests on " +
+ "AOSP. Make sure to execute locally after updating the extended Material icons."
+ )
@Test
fun compareImageVectors() {
compareImageVectors(iconSublist)
diff --git a/compose/material/material/icons/generator/api/automirrored_icons.txt b/compose/material/material/icons/generator/api/automirrored_icons.txt
new file mode 100644
index 0000000..5b90c3f
--- /dev/null
+++ b/compose/material/material/icons/generator/api/automirrored_icons.txt
@@ -0,0 +1,725 @@
+Filled.Accessible
+Filled.AccessibleForward
+Filled.AddToHomeScreen
+Filled.AirplaneTicket
+Filled.AlignHorizontalLeft
+Filled.AlignHorizontalRight
+Filled.AltRoute
+Filled.Announcement
+Filled.ArrowBack
+Filled.ArrowBackIos
+Filled.ArrowForward
+Filled.ArrowForwardIos
+Filled.ArrowLeft
+Filled.ArrowRight
+Filled.ArrowRightAlt
+Filled.Article
+Filled.Assignment
+Filled.AssignmentReturn
+Filled.AssistantDirection
+Filled.Backspace
+Filled.BatteryUnknown
+Filled.BluetoothSearching
+Filled.BrandingWatermark
+Filled.CallMade
+Filled.CallMerge
+Filled.CallMissed
+Filled.CallMissedOutgoing
+Filled.CallReceived
+Filled.CallSplit
+Filled.Chat
+Filled.ChromeReaderMode
+Filled.Comment
+Filled.CompareArrows
+Filled.ContactSupport
+Filled.DirectionsBike
+Filled.DirectionsRun
+Filled.DirectionsWalk
+Filled.DriveFileMove
+Filled.Dvr
+Filled.EventNote
+Filled.ExitToApp
+Filled.FactCheck
+Filled.FeaturedPlayList
+Filled.FeaturedVideo
+Filled.Feed
+Filled.FollowTheSigns
+Filled.FormatAlignLeft
+Filled.FormatAlignRight
+Filled.FormatIndentDecrease
+Filled.FormatIndentIncrease
+Filled.FormatListBulleted
+Filled.FormatTextdirectionLToR
+Filled.FormatTextdirectionRToL
+Filled.Forward
+Filled.ForwardToInbox
+Filled.Grading
+Filled.Help
+Filled.HelpCenter
+Filled.HelpOutline
+Filled.Input
+Filled.InsertComment
+Filled.InsertDriveFile
+Filled.KeyboardArrowLeft
+Filled.KeyboardArrowRight
+Filled.KeyboardBackspace
+Filled.KeyboardReturn
+Filled.KeyboardTab
+Filled.Label
+Filled.LabelImportant
+Filled.LabelOff
+Filled.LastPage
+Filled.Launch
+Filled.LibraryBooks
+Filled.List
+Filled.ListAlt
+Filled.LiveHelp
+Filled.Login
+Filled.Logout
+Filled.ManageSearch
+Filled.MenuBook
+Filled.MenuOpen
+Filled.MergeType
+Filled.Message
+Filled.MissedVideoCall
+Filled.MobileScreenShare
+Filled.More
+Filled.MultilineChart
+Filled.NavigateBefore
+Filled.NavigateNext
+Filled.NextPlan
+Filled.NextWeek
+Filled.NotListedLocation
+Filled.Note
+Filled.NoteAdd
+Filled.Notes
+Filled.OfflineShare
+Filled.OpenInNew
+Filled.Outbound
+Filled.PhoneCallback
+Filled.PhoneForwarded
+Filled.PhoneMissed
+Filled.PlaylistAdd
+Filled.PlaylistAddCheck
+Filled.PlaylistPlay
+Filled.QueueMusic
+Filled.ReadMore
+Filled.ReceiptLong
+Filled.Redo
+Filled.Reply
+Filled.ReplyAll
+Filled.RotateLeft
+Filled.RotateRight
+Filled.Rtt
+Filled.Rule
+Filled.ScheduleSend
+Filled.ScreenShare
+Filled.Segment
+Filled.Send
+Filled.SendAndArchive
+Filled.SendToMobile
+Filled.ShortText
+Filled.Shortcut
+Filled.ShowChart
+Filled.Sort
+Filled.SpeakerNotes
+Filled.StarHalf
+Filled.StickyNote2
+Filled.StopScreenShare
+Filled.Subject
+Filled.TextSnippet
+Filled.Toc
+Filled.TrendingDown
+Filled.TrendingFlat
+Filled.TrendingUp
+Filled.Undo
+Filled.ViewList
+Filled.ViewQuilt
+Filled.ViewSidebar
+Filled.VolumeDown
+Filled.VolumeMute
+Filled.VolumeOff
+Filled.VolumeUp
+Filled.WrapText
+Filled.Wysiwyg
+Filled._360
+Outlined.Accessible
+Outlined.AccessibleForward
+Outlined.AddToHomeScreen
+Outlined.AirplaneTicket
+Outlined.AlignHorizontalLeft
+Outlined.AlignHorizontalRight
+Outlined.AltRoute
+Outlined.Announcement
+Outlined.ArrowBack
+Outlined.ArrowBackIos
+Outlined.ArrowForward
+Outlined.ArrowForwardIos
+Outlined.ArrowLeft
+Outlined.ArrowRight
+Outlined.ArrowRightAlt
+Outlined.Article
+Outlined.Assignment
+Outlined.AssignmentReturn
+Outlined.AssistantDirection
+Outlined.Backspace
+Outlined.BatteryUnknown
+Outlined.BluetoothSearching
+Outlined.BrandingWatermark
+Outlined.CallMade
+Outlined.CallMerge
+Outlined.CallMissed
+Outlined.CallMissedOutgoing
+Outlined.CallReceived
+Outlined.CallSplit
+Outlined.Chat
+Outlined.ChromeReaderMode
+Outlined.Comment
+Outlined.CompareArrows
+Outlined.ContactSupport
+Outlined.DirectionsBike
+Outlined.DirectionsRun
+Outlined.DirectionsWalk
+Outlined.DriveFileMove
+Outlined.Dvr
+Outlined.EventNote
+Outlined.ExitToApp
+Outlined.FactCheck
+Outlined.FeaturedPlayList
+Outlined.FeaturedVideo
+Outlined.Feed
+Outlined.FollowTheSigns
+Outlined.FormatAlignLeft
+Outlined.FormatAlignRight
+Outlined.FormatIndentDecrease
+Outlined.FormatIndentIncrease
+Outlined.FormatListBulleted
+Outlined.FormatTextdirectionLToR
+Outlined.FormatTextdirectionRToL
+Outlined.Forward
+Outlined.ForwardToInbox
+Outlined.Grading
+Outlined.Help
+Outlined.HelpCenter
+Outlined.HelpOutline
+Outlined.Input
+Outlined.InsertComment
+Outlined.InsertDriveFile
+Outlined.KeyboardArrowLeft
+Outlined.KeyboardArrowRight
+Outlined.KeyboardBackspace
+Outlined.KeyboardReturn
+Outlined.KeyboardTab
+Outlined.Label
+Outlined.LabelImportant
+Outlined.LabelOff
+Outlined.LastPage
+Outlined.Launch
+Outlined.LibraryBooks
+Outlined.List
+Outlined.ListAlt
+Outlined.LiveHelp
+Outlined.Login
+Outlined.Logout
+Outlined.ManageSearch
+Outlined.MenuBook
+Outlined.MenuOpen
+Outlined.MergeType
+Outlined.Message
+Outlined.MissedVideoCall
+Outlined.MobileScreenShare
+Outlined.More
+Outlined.MultilineChart
+Outlined.NavigateBefore
+Outlined.NavigateNext
+Outlined.NextPlan
+Outlined.NextWeek
+Outlined.NotListedLocation
+Outlined.Note
+Outlined.NoteAdd
+Outlined.Notes
+Outlined.OfflineShare
+Outlined.OpenInNew
+Outlined.Outbound
+Outlined.PhoneCallback
+Outlined.PhoneForwarded
+Outlined.PhoneMissed
+Outlined.PlaylistAdd
+Outlined.PlaylistAddCheck
+Outlined.PlaylistPlay
+Outlined.QueueMusic
+Outlined.ReadMore
+Outlined.ReceiptLong
+Outlined.Redo
+Outlined.Reply
+Outlined.ReplyAll
+Outlined.RotateLeft
+Outlined.RotateRight
+Outlined.Rtt
+Outlined.Rule
+Outlined.ScheduleSend
+Outlined.ScreenShare
+Outlined.Segment
+Outlined.Send
+Outlined.SendAndArchive
+Outlined.SendToMobile
+Outlined.ShortText
+Outlined.Shortcut
+Outlined.ShowChart
+Outlined.Sort
+Outlined.SpeakerNotes
+Outlined.StarHalf
+Outlined.StickyNote2
+Outlined.StopScreenShare
+Outlined.Subject
+Outlined.TextSnippet
+Outlined.Toc
+Outlined.TrendingDown
+Outlined.TrendingFlat
+Outlined.TrendingUp
+Outlined.Undo
+Outlined.ViewList
+Outlined.ViewQuilt
+Outlined.ViewSidebar
+Outlined.VolumeDown
+Outlined.VolumeMute
+Outlined.VolumeOff
+Outlined.VolumeUp
+Outlined.WrapText
+Outlined.Wysiwyg
+Outlined._360
+Rounded.Accessible
+Rounded.AccessibleForward
+Rounded.AddToHomeScreen
+Rounded.AirplaneTicket
+Rounded.AlignHorizontalLeft
+Rounded.AlignHorizontalRight
+Rounded.AltRoute
+Rounded.Announcement
+Rounded.ArrowBack
+Rounded.ArrowBackIos
+Rounded.ArrowForward
+Rounded.ArrowForwardIos
+Rounded.ArrowLeft
+Rounded.ArrowRight
+Rounded.ArrowRightAlt
+Rounded.Article
+Rounded.Assignment
+Rounded.AssignmentReturn
+Rounded.AssistantDirection
+Rounded.Backspace
+Rounded.BatteryUnknown
+Rounded.BluetoothSearching
+Rounded.BrandingWatermark
+Rounded.CallMade
+Rounded.CallMerge
+Rounded.CallMissed
+Rounded.CallMissedOutgoing
+Rounded.CallReceived
+Rounded.CallSplit
+Rounded.Chat
+Rounded.ChromeReaderMode
+Rounded.Comment
+Rounded.CompareArrows
+Rounded.ContactSupport
+Rounded.DirectionsBike
+Rounded.DirectionsRun
+Rounded.DirectionsWalk
+Rounded.DriveFileMove
+Rounded.Dvr
+Rounded.EventNote
+Rounded.ExitToApp
+Rounded.FactCheck
+Rounded.FeaturedPlayList
+Rounded.FeaturedVideo
+Rounded.Feed
+Rounded.FollowTheSigns
+Rounded.FormatAlignLeft
+Rounded.FormatAlignRight
+Rounded.FormatIndentDecrease
+Rounded.FormatIndentIncrease
+Rounded.FormatListBulleted
+Rounded.FormatTextdirectionLToR
+Rounded.FormatTextdirectionRToL
+Rounded.Forward
+Rounded.ForwardToInbox
+Rounded.Grading
+Rounded.Help
+Rounded.HelpCenter
+Rounded.HelpOutline
+Rounded.Input
+Rounded.InsertComment
+Rounded.InsertDriveFile
+Rounded.KeyboardArrowLeft
+Rounded.KeyboardArrowRight
+Rounded.KeyboardBackspace
+Rounded.KeyboardReturn
+Rounded.KeyboardTab
+Rounded.Label
+Rounded.LabelImportant
+Rounded.LabelOff
+Rounded.LastPage
+Rounded.Launch
+Rounded.LibraryBooks
+Rounded.List
+Rounded.ListAlt
+Rounded.LiveHelp
+Rounded.Login
+Rounded.Logout
+Rounded.ManageSearch
+Rounded.MenuBook
+Rounded.MenuOpen
+Rounded.MergeType
+Rounded.Message
+Rounded.MissedVideoCall
+Rounded.MobileScreenShare
+Rounded.More
+Rounded.MultilineChart
+Rounded.NavigateBefore
+Rounded.NavigateNext
+Rounded.NextPlan
+Rounded.NextWeek
+Rounded.NotListedLocation
+Rounded.Note
+Rounded.NoteAdd
+Rounded.Notes
+Rounded.OfflineShare
+Rounded.OpenInNew
+Rounded.Outbound
+Rounded.PhoneCallback
+Rounded.PhoneForwarded
+Rounded.PhoneMissed
+Rounded.PlaylistAdd
+Rounded.PlaylistAddCheck
+Rounded.PlaylistPlay
+Rounded.QueueMusic
+Rounded.ReadMore
+Rounded.ReceiptLong
+Rounded.Redo
+Rounded.Reply
+Rounded.ReplyAll
+Rounded.RotateLeft
+Rounded.RotateRight
+Rounded.Rtt
+Rounded.Rule
+Rounded.ScheduleSend
+Rounded.ScreenShare
+Rounded.Segment
+Rounded.Send
+Rounded.SendAndArchive
+Rounded.SendToMobile
+Rounded.ShortText
+Rounded.Shortcut
+Rounded.ShowChart
+Rounded.Sort
+Rounded.SpeakerNotes
+Rounded.StarHalf
+Rounded.StickyNote2
+Rounded.StopScreenShare
+Rounded.Subject
+Rounded.TextSnippet
+Rounded.Toc
+Rounded.TrendingDown
+Rounded.TrendingFlat
+Rounded.TrendingUp
+Rounded.Undo
+Rounded.ViewList
+Rounded.ViewQuilt
+Rounded.ViewSidebar
+Rounded.VolumeDown
+Rounded.VolumeMute
+Rounded.VolumeOff
+Rounded.VolumeUp
+Rounded.WrapText
+Rounded.Wysiwyg
+Rounded._360
+Sharp.Accessible
+Sharp.AccessibleForward
+Sharp.AddToHomeScreen
+Sharp.AirplaneTicket
+Sharp.AlignHorizontalLeft
+Sharp.AlignHorizontalRight
+Sharp.AltRoute
+Sharp.Announcement
+Sharp.ArrowBack
+Sharp.ArrowBackIos
+Sharp.ArrowForward
+Sharp.ArrowForwardIos
+Sharp.ArrowLeft
+Sharp.ArrowRight
+Sharp.ArrowRightAlt
+Sharp.Article
+Sharp.Assignment
+Sharp.AssignmentReturn
+Sharp.AssistantDirection
+Sharp.Backspace
+Sharp.BatteryUnknown
+Sharp.BluetoothSearching
+Sharp.BrandingWatermark
+Sharp.CallMade
+Sharp.CallMerge
+Sharp.CallMissed
+Sharp.CallMissedOutgoing
+Sharp.CallReceived
+Sharp.CallSplit
+Sharp.Chat
+Sharp.ChromeReaderMode
+Sharp.Comment
+Sharp.CompareArrows
+Sharp.ContactSupport
+Sharp.DirectionsBike
+Sharp.DirectionsRun
+Sharp.DirectionsWalk
+Sharp.DriveFileMove
+Sharp.Dvr
+Sharp.EventNote
+Sharp.ExitToApp
+Sharp.FactCheck
+Sharp.FeaturedPlayList
+Sharp.FeaturedVideo
+Sharp.Feed
+Sharp.FollowTheSigns
+Sharp.FormatAlignLeft
+Sharp.FormatAlignRight
+Sharp.FormatIndentDecrease
+Sharp.FormatIndentIncrease
+Sharp.FormatListBulleted
+Sharp.FormatTextdirectionLToR
+Sharp.FormatTextdirectionRToL
+Sharp.Forward
+Sharp.ForwardToInbox
+Sharp.Grading
+Sharp.Help
+Sharp.HelpCenter
+Sharp.HelpOutline
+Sharp.Input
+Sharp.InsertComment
+Sharp.InsertDriveFile
+Sharp.KeyboardArrowLeft
+Sharp.KeyboardArrowRight
+Sharp.KeyboardBackspace
+Sharp.KeyboardReturn
+Sharp.KeyboardTab
+Sharp.Label
+Sharp.LabelImportant
+Sharp.LabelOff
+Sharp.LastPage
+Sharp.Launch
+Sharp.LibraryBooks
+Sharp.List
+Sharp.ListAlt
+Sharp.LiveHelp
+Sharp.Login
+Sharp.Logout
+Sharp.ManageSearch
+Sharp.MenuBook
+Sharp.MenuOpen
+Sharp.MergeType
+Sharp.Message
+Sharp.MissedVideoCall
+Sharp.MobileScreenShare
+Sharp.More
+Sharp.MultilineChart
+Sharp.NavigateBefore
+Sharp.NavigateNext
+Sharp.NextPlan
+Sharp.NextWeek
+Sharp.NotListedLocation
+Sharp.Note
+Sharp.NoteAdd
+Sharp.Notes
+Sharp.OfflineShare
+Sharp.OpenInNew
+Sharp.Outbound
+Sharp.PhoneCallback
+Sharp.PhoneForwarded
+Sharp.PhoneMissed
+Sharp.PlaylistAdd
+Sharp.PlaylistAddCheck
+Sharp.PlaylistPlay
+Sharp.QueueMusic
+Sharp.ReadMore
+Sharp.ReceiptLong
+Sharp.Redo
+Sharp.Reply
+Sharp.ReplyAll
+Sharp.RotateLeft
+Sharp.RotateRight
+Sharp.Rtt
+Sharp.Rule
+Sharp.ScheduleSend
+Sharp.ScreenShare
+Sharp.Segment
+Sharp.Send
+Sharp.SendAndArchive
+Sharp.SendToMobile
+Sharp.ShortText
+Sharp.Shortcut
+Sharp.ShowChart
+Sharp.Sort
+Sharp.SpeakerNotes
+Sharp.StarHalf
+Sharp.StickyNote2
+Sharp.StopScreenShare
+Sharp.Subject
+Sharp.TextSnippet
+Sharp.Toc
+Sharp.TrendingDown
+Sharp.TrendingFlat
+Sharp.TrendingUp
+Sharp.Undo
+Sharp.ViewList
+Sharp.ViewQuilt
+Sharp.ViewSidebar
+Sharp.VolumeDown
+Sharp.VolumeMute
+Sharp.VolumeOff
+Sharp.VolumeUp
+Sharp.WrapText
+Sharp.Wysiwyg
+Sharp._360
+TwoTone.Accessible
+TwoTone.AccessibleForward
+TwoTone.AddToHomeScreen
+TwoTone.AirplaneTicket
+TwoTone.AlignHorizontalLeft
+TwoTone.AlignHorizontalRight
+TwoTone.AltRoute
+TwoTone.Announcement
+TwoTone.ArrowBack
+TwoTone.ArrowBackIos
+TwoTone.ArrowForward
+TwoTone.ArrowForwardIos
+TwoTone.ArrowLeft
+TwoTone.ArrowRight
+TwoTone.ArrowRightAlt
+TwoTone.Article
+TwoTone.Assignment
+TwoTone.AssignmentReturn
+TwoTone.AssistantDirection
+TwoTone.Backspace
+TwoTone.BatteryUnknown
+TwoTone.BluetoothSearching
+TwoTone.BrandingWatermark
+TwoTone.CallMade
+TwoTone.CallMerge
+TwoTone.CallMissed
+TwoTone.CallMissedOutgoing
+TwoTone.CallReceived
+TwoTone.CallSplit
+TwoTone.Chat
+TwoTone.ChromeReaderMode
+TwoTone.Comment
+TwoTone.CompareArrows
+TwoTone.ContactSupport
+TwoTone.DirectionsBike
+TwoTone.DirectionsRun
+TwoTone.DirectionsWalk
+TwoTone.DriveFileMove
+TwoTone.Dvr
+TwoTone.EventNote
+TwoTone.ExitToApp
+TwoTone.FactCheck
+TwoTone.FeaturedPlayList
+TwoTone.FeaturedVideo
+TwoTone.Feed
+TwoTone.FollowTheSigns
+TwoTone.FormatAlignLeft
+TwoTone.FormatAlignRight
+TwoTone.FormatIndentDecrease
+TwoTone.FormatIndentIncrease
+TwoTone.FormatListBulleted
+TwoTone.FormatTextdirectionLToR
+TwoTone.FormatTextdirectionRToL
+TwoTone.Forward
+TwoTone.ForwardToInbox
+TwoTone.Grading
+TwoTone.Help
+TwoTone.HelpCenter
+TwoTone.HelpOutline
+TwoTone.Input
+TwoTone.InsertComment
+TwoTone.InsertDriveFile
+TwoTone.KeyboardArrowLeft
+TwoTone.KeyboardArrowRight
+TwoTone.KeyboardBackspace
+TwoTone.KeyboardReturn
+TwoTone.KeyboardTab
+TwoTone.Label
+TwoTone.LabelImportant
+TwoTone.LabelOff
+TwoTone.LastPage
+TwoTone.Launch
+TwoTone.LibraryBooks
+TwoTone.List
+TwoTone.ListAlt
+TwoTone.LiveHelp
+TwoTone.Login
+TwoTone.Logout
+TwoTone.ManageSearch
+TwoTone.MenuBook
+TwoTone.MenuOpen
+TwoTone.MergeType
+TwoTone.Message
+TwoTone.MissedVideoCall
+TwoTone.MobileScreenShare
+TwoTone.More
+TwoTone.MultilineChart
+TwoTone.NavigateBefore
+TwoTone.NavigateNext
+TwoTone.NextPlan
+TwoTone.NextWeek
+TwoTone.NotListedLocation
+TwoTone.Note
+TwoTone.NoteAdd
+TwoTone.Notes
+TwoTone.OfflineShare
+TwoTone.OpenInNew
+TwoTone.Outbound
+TwoTone.PhoneCallback
+TwoTone.PhoneForwarded
+TwoTone.PhoneMissed
+TwoTone.PlaylistAdd
+TwoTone.PlaylistAddCheck
+TwoTone.PlaylistPlay
+TwoTone.QueueMusic
+TwoTone.ReadMore
+TwoTone.ReceiptLong
+TwoTone.Redo
+TwoTone.Reply
+TwoTone.ReplyAll
+TwoTone.RotateLeft
+TwoTone.RotateRight
+TwoTone.Rtt
+TwoTone.Rule
+TwoTone.ScheduleSend
+TwoTone.ScreenShare
+TwoTone.Segment
+TwoTone.Send
+TwoTone.SendAndArchive
+TwoTone.SendToMobile
+TwoTone.ShortText
+TwoTone.Shortcut
+TwoTone.ShowChart
+TwoTone.Sort
+TwoTone.SpeakerNotes
+TwoTone.StarHalf
+TwoTone.StickyNote2
+TwoTone.StopScreenShare
+TwoTone.Subject
+TwoTone.TextSnippet
+TwoTone.Toc
+TwoTone.TrendingDown
+TwoTone.TrendingFlat
+TwoTone.TrendingUp
+TwoTone.Undo
+TwoTone.ViewList
+TwoTone.ViewQuilt
+TwoTone.ViewSidebar
+TwoTone.VolumeDown
+TwoTone.VolumeMute
+TwoTone.VolumeOff
+TwoTone.VolumeUp
+TwoTone.WrapText
+TwoTone.Wysiwyg
+TwoTone._360
\ No newline at end of file
diff --git a/compose/material/material/icons/generator/api/icons.txt b/compose/material/material/icons/generator/api/icons.txt
index e5c38de..b23fe4c 100644
--- a/compose/material/material/icons/generator/api/icons.txt
+++ b/compose/material/material/icons/generator/api/icons.txt
@@ -6,8 +6,6 @@
Filled.AccessTimeFilled
Filled.Accessibility
Filled.AccessibilityNew
-Filled.Accessible
-Filled.AccessibleForward
Filled.AccountBalance
Filled.AccountBalanceWallet
Filled.AccountBox
@@ -39,7 +37,6 @@
Filled.AddShoppingCart
Filled.AddTask
Filled.AddToDrive
-Filled.AddToHomeScreen
Filled.AddToPhotos
Filled.AddToQueue
Filled.Addchart
@@ -59,7 +56,6 @@
Filled.AirlineSeatReclineNormal
Filled.AirlineStops
Filled.Airlines
-Filled.AirplaneTicket
Filled.AirplanemodeActive
Filled.AirplanemodeInactive
Filled.Airplay
@@ -70,22 +66,18 @@
Filled.AlarmOn
Filled.Album
Filled.AlignHorizontalCenter
-Filled.AlignHorizontalLeft
-Filled.AlignHorizontalRight
Filled.AlignVerticalBottom
Filled.AlignVerticalCenter
Filled.AlignVerticalTop
Filled.AllInbox
Filled.AllInclusive
Filled.AllOut
-Filled.AltRoute
Filled.AlternateEmail
Filled.AmpStories
Filled.Analytics
Filled.Anchor
Filled.Android
Filled.Animation
-Filled.Announcement
Filled.Aod
Filled.Apartment
Filled.Api
@@ -99,8 +91,6 @@
Filled.Architecture
Filled.Archive
Filled.AreaChart
-Filled.ArrowBack
-Filled.ArrowBackIos
Filled.ArrowBackIosNew
Filled.ArrowCircleDown
Filled.ArrowCircleLeft
@@ -110,26 +100,17 @@
Filled.ArrowDropDown
Filled.ArrowDropDownCircle
Filled.ArrowDropUp
-Filled.ArrowForward
-Filled.ArrowForwardIos
-Filled.ArrowLeft
Filled.ArrowOutward
-Filled.ArrowRight
-Filled.ArrowRightAlt
Filled.ArrowUpward
Filled.ArtTrack
-Filled.Article
Filled.AspectRatio
Filled.Assessment
-Filled.Assignment
Filled.AssignmentInd
Filled.AssignmentLate
-Filled.AssignmentReturn
Filled.AssignmentReturned
Filled.AssignmentTurnedIn
Filled.AssistWalker
Filled.Assistant
-Filled.AssistantDirection
Filled.AssistantPhoto
Filled.AssuredWorkload
Filled.Atm
@@ -157,7 +138,6 @@
Filled.BabyChangingStation
Filled.BackHand
Filled.Backpack
-Filled.Backspace
Filled.Backup
Filled.BackupTable
Filled.Badge
@@ -181,7 +161,6 @@
Filled.BatteryFull
Filled.BatterySaver
Filled.BatteryStd
-Filled.BatteryUnknown
Filled.BeachAccess
Filled.Bed
Filled.BedroomBaby
@@ -204,7 +183,6 @@
Filled.BluetoothConnected
Filled.BluetoothDisabled
Filled.BluetoothDrive
-Filled.BluetoothSearching
Filled.BlurCircular
Filled.BlurLinear
Filled.BlurOff
@@ -231,7 +209,6 @@
Filled.BorderTop
Filled.BorderVertical
Filled.Boy
-Filled.BrandingWatermark
Filled.BreakfastDining
Filled.Brightness1
Filled.Brightness2
@@ -273,12 +250,6 @@
Filled.CalendarViewWeek
Filled.Call
Filled.CallEnd
-Filled.CallMade
-Filled.CallMerge
-Filled.CallMissed
-Filled.CallMissedOutgoing
-Filled.CallReceived
-Filled.CallSplit
Filled.CallToAction
Filled.Camera
Filled.CameraAlt
@@ -320,7 +291,6 @@
Filled.ChangeCircle
Filled.ChangeHistory
Filled.ChargingStation
-Filled.Chat
Filled.ChatBubble
Filled.ChatBubbleOutline
Filled.Check
@@ -335,7 +305,6 @@
Filled.ChevronRight
Filled.ChildCare
Filled.ChildFriendly
-Filled.ChromeReaderMode
Filled.Church
Filled.Circle
Filled.CircleNotifications
@@ -367,13 +336,11 @@
Filled.CollectionsBookmark
Filled.ColorLens
Filled.Colorize
-Filled.Comment
Filled.CommentBank
Filled.CommentsDisabled
Filled.Commit
Filled.Commute
Filled.Compare
-Filled.CompareArrows
Filled.CompassCalibration
Filled.Compost
Filled.Compress
@@ -387,7 +354,6 @@
Filled.ContactMail
Filled.ContactPage
Filled.ContactPhone
-Filled.ContactSupport
Filled.Contactless
Filled.Contacts
Filled.ContentCopy
@@ -490,7 +456,6 @@
Filled.Dining
Filled.DinnerDining
Filled.Directions
-Filled.DirectionsBike
Filled.DirectionsBoat
Filled.DirectionsBoatFilled
Filled.DirectionsBus
@@ -500,12 +465,10 @@
Filled.DirectionsOff
Filled.DirectionsRailway
Filled.DirectionsRailwayFilled
-Filled.DirectionsRun
Filled.DirectionsSubway
Filled.DirectionsSubwayFilled
Filled.DirectionsTransit
Filled.DirectionsTransitFilled
-Filled.DirectionsWalk
Filled.DirtyLens
Filled.DisabledByDefault
Filled.DisabledVisible
@@ -553,14 +516,12 @@
Filled.DragIndicator
Filled.Draw
Filled.DriveEta
-Filled.DriveFileMove
Filled.DriveFileMoveRtl
Filled.DriveFileRenameOutline
Filled.DriveFolderUpload
Filled.Dry
Filled.DryCleaning
Filled.Duo
-Filled.Dvr
Filled.DynamicFeed
Filled.DynamicForm
Filled.EMobiledata
@@ -620,10 +581,8 @@
Filled.Event
Filled.EventAvailable
Filled.EventBusy
-Filled.EventNote
Filled.EventRepeat
Filled.EventSeat
-Filled.ExitToApp
Filled.Expand
Filled.ExpandCircleDown
Filled.ExpandLess
@@ -648,7 +607,6 @@
Filled.FaceRetouchingNatural
Filled.FaceRetouchingOff
Filled.Facebook
-Filled.FactCheck
Filled.Factory
Filled.FamilyRestroom
Filled.FastForward
@@ -657,9 +615,6 @@
Filled.Favorite
Filled.FavoriteBorder
Filled.Fax
-Filled.FeaturedPlayList
-Filled.FeaturedVideo
-Filled.Feed
Filled.Feedback
Filled.Female
Filled.Fence
@@ -743,7 +698,6 @@
Filled.FolderShared
Filled.FolderSpecial
Filled.FolderZip
-Filled.FollowTheSigns
Filled.FontDownload
Filled.FontDownloadOff
Filled.FoodBank
@@ -752,18 +706,13 @@
Filled.ForkRight
Filled.FormatAlignCenter
Filled.FormatAlignJustify
-Filled.FormatAlignLeft
-Filled.FormatAlignRight
Filled.FormatBold
Filled.FormatClear
Filled.FormatColorFill
Filled.FormatColorReset
Filled.FormatColorText
-Filled.FormatIndentDecrease
-Filled.FormatIndentIncrease
Filled.FormatItalic
Filled.FormatLineSpacing
-Filled.FormatListBulleted
Filled.FormatListNumbered
Filled.FormatListNumberedRtl
Filled.FormatOverline
@@ -772,16 +721,12 @@
Filled.FormatShapes
Filled.FormatSize
Filled.FormatStrikethrough
-Filled.FormatTextdirectionLToR
-Filled.FormatTextdirectionRToL
Filled.FormatUnderlined
Filled.Fort
Filled.Forum
-Filled.Forward
Filled.Forward10
Filled.Forward30
Filled.Forward5
-Filled.ForwardToInbox
Filled.Foundation
Filled.FreeBreakfast
Filled.FreeCancellation
@@ -812,7 +757,6 @@
Filled.GpsOff
Filled.Grade
Filled.Gradient
-Filled.Grading
Filled.Grain
Filled.GraphicEq
Filled.Grass
@@ -859,9 +803,6 @@
Filled.HeartBroken
Filled.HeatPump
Filled.Height
-Filled.Help
-Filled.HelpCenter
-Filled.HelpOutline
Filled.Hevc
Filled.Hexagon
Filled.HideImage
@@ -918,11 +859,8 @@
Filled.IncompleteCircle
Filled.IndeterminateCheckBox
Filled.Info
-Filled.Input
Filled.InsertChart
Filled.InsertChartOutlined
-Filled.InsertComment
-Filled.InsertDriveFile
Filled.InsertEmoticon
Filled.InsertInvitation
Filled.InsertLink
@@ -953,10 +891,7 @@
Filled.Keyboard
Filled.KeyboardAlt
Filled.KeyboardArrowDown
-Filled.KeyboardArrowLeft
-Filled.KeyboardArrowRight
Filled.KeyboardArrowUp
-Filled.KeyboardBackspace
Filled.KeyboardCapslock
Filled.KeyboardCommandKey
Filled.KeyboardControlKey
@@ -966,15 +901,10 @@
Filled.KeyboardDoubleArrowUp
Filled.KeyboardHide
Filled.KeyboardOptionKey
-Filled.KeyboardReturn
-Filled.KeyboardTab
Filled.KeyboardVoice
Filled.KingBed
Filled.Kitchen
Filled.Kitesurfing
-Filled.Label
-Filled.LabelImportant
-Filled.LabelOff
Filled.Lan
Filled.Landscape
Filled.Landslide
@@ -983,8 +913,6 @@
Filled.LaptopChromebook
Filled.LaptopMac
Filled.LaptopWindows
-Filled.LastPage
-Filled.Launch
Filled.Layers
Filled.LayersClear
Filled.Leaderboard
@@ -996,7 +924,6 @@
Filled.LensBlur
Filled.LibraryAdd
Filled.LibraryAddCheck
-Filled.LibraryBooks
Filled.LibraryMusic
Filled.Light
Filled.LightMode
@@ -1010,9 +937,6 @@
Filled.LinkOff
Filled.LinkedCamera
Filled.Liquor
-Filled.List
-Filled.ListAlt
-Filled.LiveHelp
Filled.LiveTv
Filled.Living
Filled.LocalActivity
@@ -1056,9 +980,7 @@
Filled.LockOpen
Filled.LockPerson
Filled.LockReset
-Filled.Login
Filled.LogoDev
-Filled.Logout
Filled.Looks
Filled.Looks3
Filled.Looks4
@@ -1086,7 +1008,6 @@
Filled.Man4
Filled.ManageAccounts
Filled.ManageHistory
-Filled.ManageSearch
Filled.Map
Filled.MapsHomeWork
Filled.MapsUgc
@@ -1110,11 +1031,7 @@
Filled.MeetingRoom
Filled.Memory
Filled.Menu
-Filled.MenuBook
-Filled.MenuOpen
Filled.Merge
-Filled.MergeType
-Filled.Message
Filled.Mic
Filled.MicExternalOff
Filled.MicExternalOn
@@ -1125,11 +1042,9 @@
Filled.Minimize
Filled.MinorCrash
Filled.MiscellaneousServices
-Filled.MissedVideoCall
Filled.Mms
Filled.MobileFriendly
Filled.MobileOff
-Filled.MobileScreenShare
Filled.MobiledataOff
Filled.Mode
Filled.ModeComment
@@ -1151,7 +1066,6 @@
Filled.Mood
Filled.MoodBad
Filled.Moped
-Filled.More
Filled.MoreHoriz
Filled.MoreTime
Filled.MoreVert
@@ -1171,7 +1085,6 @@
Filled.MovieFilter
Filled.Moving
Filled.Mp
-Filled.MultilineChart
Filled.MultipleStop
Filled.Museum
Filled.MusicNote
@@ -1181,8 +1094,6 @@
Filled.Nat
Filled.Nature
Filled.NaturePeople
-Filled.NavigateBefore
-Filled.NavigateNext
Filled.Navigation
Filled.NearMe
Filled.NearMeDisabled
@@ -1200,8 +1111,6 @@
Filled.NewLabel
Filled.NewReleases
Filled.Newspaper
-Filled.NextPlan
-Filled.NextWeek
Filled.Nfc
Filled.NightShelter
Filled.Nightlife
@@ -1233,12 +1142,8 @@
Filled.NorthWest
Filled.NotAccessible
Filled.NotInterested
-Filled.NotListedLocation
Filled.NotStarted
-Filled.Note
-Filled.NoteAdd
Filled.NoteAlt
-Filled.Notes
Filled.NotificationAdd
Filled.NotificationImportant
Filled.Notifications
@@ -1249,7 +1154,6 @@
Filled.Numbers
Filled.OfflineBolt
Filled.OfflinePin
-Filled.OfflineShare
Filled.OilBarrel
Filled.OnDeviceTraining
Filled.OndemandVideo
@@ -1257,12 +1161,10 @@
Filled.Opacity
Filled.OpenInBrowser
Filled.OpenInFull
-Filled.OpenInNew
Filled.OpenInNewOff
Filled.OpenWith
Filled.OtherHouses
Filled.Outbond
-Filled.Outbound
Filled.Outbox
Filled.OutdoorGrill
Filled.Outlet
@@ -1337,14 +1239,11 @@
Filled.Phone
Filled.PhoneAndroid
Filled.PhoneBluetoothSpeaker
-Filled.PhoneCallback
Filled.PhoneDisabled
Filled.PhoneEnabled
-Filled.PhoneForwarded
Filled.PhoneInTalk
Filled.PhoneIphone
Filled.PhoneLocked
-Filled.PhoneMissed
Filled.PhonePaused
Filled.Phonelink
Filled.PhonelinkErase
@@ -1386,11 +1285,8 @@
Filled.PlayDisabled
Filled.PlayForWork
Filled.PlayLesson
-Filled.PlaylistAdd
-Filled.PlaylistAddCheck
Filled.PlaylistAddCheckCircle
Filled.PlaylistAddCircle
-Filled.PlaylistPlay
Filled.PlaylistRemove
Filled.Plumbing
Filled.PlusOne
@@ -1438,7 +1334,6 @@
Filled.QuestionAnswer
Filled.QuestionMark
Filled.Queue
-Filled.QueueMusic
Filled.QueuePlayNext
Filled.Quickreply
Filled.Quiz
@@ -1454,17 +1349,14 @@
Filled.RateReview
Filled.RawOff
Filled.RawOn
-Filled.ReadMore
Filled.RealEstateAgent
Filled.Receipt
-Filled.ReceiptLong
Filled.RecentActors
Filled.Recommend
Filled.RecordVoiceOver
Filled.Rectangle
Filled.Recycling
Filled.Redeem
-Filled.Redo
Filled.ReduceCapacity
Filled.Refresh
Filled.RememberMe
@@ -1488,8 +1380,6 @@
Filled.Replay30
Filled.Replay5
Filled.ReplayCircleFilled
-Filled.Reply
-Filled.ReplyAll
Filled.Report
Filled.ReportGmailerrorred
Filled.ReportOff
@@ -1517,8 +1407,6 @@
Filled.RoomService
Filled.Rotate90DegreesCcw
Filled.Rotate90DegreesCw
-Filled.RotateLeft
-Filled.RotateRight
Filled.RoundaboutLeft
Filled.RoundaboutRight
Filled.RoundedCorner
@@ -1527,8 +1415,6 @@
Filled.Rowing
Filled.RssFeed
Filled.Rsvp
-Filled.Rtt
-Filled.Rule
Filled.RuleFolder
Filled.RunCircle
Filled.RunningWithErrors
@@ -1548,7 +1434,6 @@
Filled.Scanner
Filled.ScatterPlot
Filled.Schedule
-Filled.ScheduleSend
Filled.Schema
Filled.School
Filled.Science
@@ -1560,7 +1445,6 @@
Filled.ScreenRotation
Filled.ScreenRotationAlt
Filled.ScreenSearchDesktop
-Filled.ScreenShare
Filled.Screenshot
Filled.ScreenshotMonitor
Filled.ScubaDiving
@@ -1574,14 +1458,10 @@
Filled.SecurityUpdate
Filled.SecurityUpdateGood
Filled.SecurityUpdateWarning
-Filled.Segment
Filled.SelectAll
Filled.SelfImprovement
Filled.Sell
-Filled.Send
-Filled.SendAndArchive
Filled.SendTimeExtension
-Filled.SendToMobile
Filled.SensorDoor
Filled.SensorOccupied
Filled.SensorWindow
@@ -1627,9 +1507,6 @@
Filled.ShoppingBasket
Filled.ShoppingCart
Filled.ShoppingCartCheckout
-Filled.ShortText
-Filled.Shortcut
-Filled.ShowChart
Filled.Shower
Filled.Shuffle
Filled.ShuffleOn
@@ -1685,7 +1562,6 @@
Filled.Soap
Filled.SocialDistance
Filled.SolarPower
-Filled.Sort
Filled.SortByAlpha
Filled.Sos
Filled.SoupKitchen
@@ -1702,7 +1578,6 @@
Filled.SpatialTracking
Filled.Speaker
Filled.SpeakerGroup
-Filled.SpeakerNotes
Filled.SpeakerNotesOff
Filled.SpeakerPhone
Filled.Speed
@@ -1739,7 +1614,6 @@
Filled.Star
Filled.StarBorder
Filled.StarBorderPurple500
-Filled.StarHalf
Filled.StarOutline
Filled.StarPurple500
Filled.StarRate
@@ -1749,10 +1623,8 @@
Filled.StayCurrentPortrait
Filled.StayPrimaryLandscape
Filled.StayPrimaryPortrait
-Filled.StickyNote2
Filled.Stop
Filled.StopCircle
-Filled.StopScreenShare
Filled.Storage
Filled.Store
Filled.StoreMallDirectory
@@ -1767,7 +1639,6 @@
Filled.Style
Filled.SubdirectoryArrowLeft
Filled.SubdirectoryArrowRight
-Filled.Subject
Filled.Subscript
Filled.Subscriptions
Filled.Subtitles
@@ -1846,7 +1717,6 @@
Filled.TextRotationAngleup
Filled.TextRotationDown
Filled.TextRotationNone
-Filled.TextSnippet
Filled.Textsms
Filled.Texture
Filled.TheaterComedy
@@ -1873,7 +1743,6 @@
Filled.TipsAndUpdates
Filled.TireRepair
Filled.Title
-Filled.Toc
Filled.Today
Filled.ToggleOff
Filled.ToggleOn
@@ -1896,9 +1765,6 @@
Filled.TransitEnterexit
Filled.Translate
Filled.TravelExplore
-Filled.TrendingDown
-Filled.TrendingFlat
-Filled.TrendingUp
Filled.TripOrigin
Filled.Troubleshoot
Filled.Try
@@ -1922,7 +1788,6 @@
Filled.UTurnRight
Filled.Umbrella
Filled.Unarchive
-Filled.Undo
Filled.UnfoldLess
Filled.UnfoldLessDouble
Filled.UnfoldMore
@@ -1976,10 +1841,7 @@
Filled.ViewHeadline
Filled.ViewInAr
Filled.ViewKanban
-Filled.ViewList
Filled.ViewModule
-Filled.ViewQuilt
-Filled.ViewSidebar
Filled.ViewStream
Filled.ViewTimeline
Filled.ViewWeek
@@ -1991,10 +1853,6 @@
Filled.VoiceOverOff
Filled.Voicemail
Filled.Volcano
-Filled.VolumeDown
-Filled.VolumeMute
-Filled.VolumeOff
-Filled.VolumeUp
Filled.VolunteerActivism
Filled.VpnKey
Filled.VpnKeyOff
@@ -2064,9 +1922,7 @@
Filled.WorkOutline
Filled.WorkspacePremium
Filled.Workspaces
-Filled.WrapText
Filled.WrongLocation
-Filled.Wysiwyg
Filled.Yard
Filled.YoutubeSearchedFor
Filled.ZoomIn
@@ -2099,7 +1955,6 @@
Filled._2mp
Filled._30fps
Filled._30fpsSelect
-Filled._360
Filled._3dRotation
Filled._3gMobiledata
Filled._3k
@@ -2138,8 +1993,6 @@
Outlined.AccessTimeFilled
Outlined.Accessibility
Outlined.AccessibilityNew
-Outlined.Accessible
-Outlined.AccessibleForward
Outlined.AccountBalance
Outlined.AccountBalanceWallet
Outlined.AccountBox
@@ -2171,7 +2024,6 @@
Outlined.AddShoppingCart
Outlined.AddTask
Outlined.AddToDrive
-Outlined.AddToHomeScreen
Outlined.AddToPhotos
Outlined.AddToQueue
Outlined.Addchart
@@ -2191,7 +2043,6 @@
Outlined.AirlineSeatReclineNormal
Outlined.AirlineStops
Outlined.Airlines
-Outlined.AirplaneTicket
Outlined.AirplanemodeActive
Outlined.AirplanemodeInactive
Outlined.Airplay
@@ -2202,22 +2053,18 @@
Outlined.AlarmOn
Outlined.Album
Outlined.AlignHorizontalCenter
-Outlined.AlignHorizontalLeft
-Outlined.AlignHorizontalRight
Outlined.AlignVerticalBottom
Outlined.AlignVerticalCenter
Outlined.AlignVerticalTop
Outlined.AllInbox
Outlined.AllInclusive
Outlined.AllOut
-Outlined.AltRoute
Outlined.AlternateEmail
Outlined.AmpStories
Outlined.Analytics
Outlined.Anchor
Outlined.Android
Outlined.Animation
-Outlined.Announcement
Outlined.Aod
Outlined.Apartment
Outlined.Api
@@ -2231,8 +2078,6 @@
Outlined.Architecture
Outlined.Archive
Outlined.AreaChart
-Outlined.ArrowBack
-Outlined.ArrowBackIos
Outlined.ArrowBackIosNew
Outlined.ArrowCircleDown
Outlined.ArrowCircleLeft
@@ -2242,26 +2087,17 @@
Outlined.ArrowDropDown
Outlined.ArrowDropDownCircle
Outlined.ArrowDropUp
-Outlined.ArrowForward
-Outlined.ArrowForwardIos
-Outlined.ArrowLeft
Outlined.ArrowOutward
-Outlined.ArrowRight
-Outlined.ArrowRightAlt
Outlined.ArrowUpward
Outlined.ArtTrack
-Outlined.Article
Outlined.AspectRatio
Outlined.Assessment
-Outlined.Assignment
Outlined.AssignmentInd
Outlined.AssignmentLate
-Outlined.AssignmentReturn
Outlined.AssignmentReturned
Outlined.AssignmentTurnedIn
Outlined.AssistWalker
Outlined.Assistant
-Outlined.AssistantDirection
Outlined.AssistantPhoto
Outlined.AssuredWorkload
Outlined.Atm
@@ -2289,7 +2125,6 @@
Outlined.BabyChangingStation
Outlined.BackHand
Outlined.Backpack
-Outlined.Backspace
Outlined.Backup
Outlined.BackupTable
Outlined.Badge
@@ -2313,7 +2148,6 @@
Outlined.BatteryFull
Outlined.BatterySaver
Outlined.BatteryStd
-Outlined.BatteryUnknown
Outlined.BeachAccess
Outlined.Bed
Outlined.BedroomBaby
@@ -2336,7 +2170,6 @@
Outlined.BluetoothConnected
Outlined.BluetoothDisabled
Outlined.BluetoothDrive
-Outlined.BluetoothSearching
Outlined.BlurCircular
Outlined.BlurLinear
Outlined.BlurOff
@@ -2363,7 +2196,6 @@
Outlined.BorderTop
Outlined.BorderVertical
Outlined.Boy
-Outlined.BrandingWatermark
Outlined.BreakfastDining
Outlined.Brightness1
Outlined.Brightness2
@@ -2405,12 +2237,6 @@
Outlined.CalendarViewWeek
Outlined.Call
Outlined.CallEnd
-Outlined.CallMade
-Outlined.CallMerge
-Outlined.CallMissed
-Outlined.CallMissedOutgoing
-Outlined.CallReceived
-Outlined.CallSplit
Outlined.CallToAction
Outlined.Camera
Outlined.CameraAlt
@@ -2452,7 +2278,6 @@
Outlined.ChangeCircle
Outlined.ChangeHistory
Outlined.ChargingStation
-Outlined.Chat
Outlined.ChatBubble
Outlined.ChatBubbleOutline
Outlined.Check
@@ -2467,7 +2292,6 @@
Outlined.ChevronRight
Outlined.ChildCare
Outlined.ChildFriendly
-Outlined.ChromeReaderMode
Outlined.Church
Outlined.Circle
Outlined.CircleNotifications
@@ -2499,13 +2323,11 @@
Outlined.CollectionsBookmark
Outlined.ColorLens
Outlined.Colorize
-Outlined.Comment
Outlined.CommentBank
Outlined.CommentsDisabled
Outlined.Commit
Outlined.Commute
Outlined.Compare
-Outlined.CompareArrows
Outlined.CompassCalibration
Outlined.Compost
Outlined.Compress
@@ -2519,7 +2341,6 @@
Outlined.ContactMail
Outlined.ContactPage
Outlined.ContactPhone
-Outlined.ContactSupport
Outlined.Contactless
Outlined.Contacts
Outlined.ContentCopy
@@ -2622,7 +2443,6 @@
Outlined.Dining
Outlined.DinnerDining
Outlined.Directions
-Outlined.DirectionsBike
Outlined.DirectionsBoat
Outlined.DirectionsBoatFilled
Outlined.DirectionsBus
@@ -2632,12 +2452,10 @@
Outlined.DirectionsOff
Outlined.DirectionsRailway
Outlined.DirectionsRailwayFilled
-Outlined.DirectionsRun
Outlined.DirectionsSubway
Outlined.DirectionsSubwayFilled
Outlined.DirectionsTransit
Outlined.DirectionsTransitFilled
-Outlined.DirectionsWalk
Outlined.DirtyLens
Outlined.DisabledByDefault
Outlined.DisabledVisible
@@ -2685,14 +2503,12 @@
Outlined.DragIndicator
Outlined.Draw
Outlined.DriveEta
-Outlined.DriveFileMove
Outlined.DriveFileMoveRtl
Outlined.DriveFileRenameOutline
Outlined.DriveFolderUpload
Outlined.Dry
Outlined.DryCleaning
Outlined.Duo
-Outlined.Dvr
Outlined.DynamicFeed
Outlined.DynamicForm
Outlined.EMobiledata
@@ -2752,10 +2568,8 @@
Outlined.Event
Outlined.EventAvailable
Outlined.EventBusy
-Outlined.EventNote
Outlined.EventRepeat
Outlined.EventSeat
-Outlined.ExitToApp
Outlined.Expand
Outlined.ExpandCircleDown
Outlined.ExpandLess
@@ -2780,7 +2594,6 @@
Outlined.FaceRetouchingNatural
Outlined.FaceRetouchingOff
Outlined.Facebook
-Outlined.FactCheck
Outlined.Factory
Outlined.FamilyRestroom
Outlined.FastForward
@@ -2789,9 +2602,6 @@
Outlined.Favorite
Outlined.FavoriteBorder
Outlined.Fax
-Outlined.FeaturedPlayList
-Outlined.FeaturedVideo
-Outlined.Feed
Outlined.Feedback
Outlined.Female
Outlined.Fence
@@ -2875,7 +2685,6 @@
Outlined.FolderShared
Outlined.FolderSpecial
Outlined.FolderZip
-Outlined.FollowTheSigns
Outlined.FontDownload
Outlined.FontDownloadOff
Outlined.FoodBank
@@ -2884,18 +2693,13 @@
Outlined.ForkRight
Outlined.FormatAlignCenter
Outlined.FormatAlignJustify
-Outlined.FormatAlignLeft
-Outlined.FormatAlignRight
Outlined.FormatBold
Outlined.FormatClear
Outlined.FormatColorFill
Outlined.FormatColorReset
Outlined.FormatColorText
-Outlined.FormatIndentDecrease
-Outlined.FormatIndentIncrease
Outlined.FormatItalic
Outlined.FormatLineSpacing
-Outlined.FormatListBulleted
Outlined.FormatListNumbered
Outlined.FormatListNumberedRtl
Outlined.FormatOverline
@@ -2904,16 +2708,12 @@
Outlined.FormatShapes
Outlined.FormatSize
Outlined.FormatStrikethrough
-Outlined.FormatTextdirectionLToR
-Outlined.FormatTextdirectionRToL
Outlined.FormatUnderlined
Outlined.Fort
Outlined.Forum
-Outlined.Forward
Outlined.Forward10
Outlined.Forward30
Outlined.Forward5
-Outlined.ForwardToInbox
Outlined.Foundation
Outlined.FreeBreakfast
Outlined.FreeCancellation
@@ -2944,7 +2744,6 @@
Outlined.GpsOff
Outlined.Grade
Outlined.Gradient
-Outlined.Grading
Outlined.Grain
Outlined.GraphicEq
Outlined.Grass
@@ -2991,9 +2790,6 @@
Outlined.HeartBroken
Outlined.HeatPump
Outlined.Height
-Outlined.Help
-Outlined.HelpCenter
-Outlined.HelpOutline
Outlined.Hevc
Outlined.Hexagon
Outlined.HideImage
@@ -3050,11 +2846,8 @@
Outlined.IncompleteCircle
Outlined.IndeterminateCheckBox
Outlined.Info
-Outlined.Input
Outlined.InsertChart
Outlined.InsertChartOutlined
-Outlined.InsertComment
-Outlined.InsertDriveFile
Outlined.InsertEmoticon
Outlined.InsertInvitation
Outlined.InsertLink
@@ -3085,10 +2878,7 @@
Outlined.Keyboard
Outlined.KeyboardAlt
Outlined.KeyboardArrowDown
-Outlined.KeyboardArrowLeft
-Outlined.KeyboardArrowRight
Outlined.KeyboardArrowUp
-Outlined.KeyboardBackspace
Outlined.KeyboardCapslock
Outlined.KeyboardCommandKey
Outlined.KeyboardControlKey
@@ -3098,15 +2888,10 @@
Outlined.KeyboardDoubleArrowUp
Outlined.KeyboardHide
Outlined.KeyboardOptionKey
-Outlined.KeyboardReturn
-Outlined.KeyboardTab
Outlined.KeyboardVoice
Outlined.KingBed
Outlined.Kitchen
Outlined.Kitesurfing
-Outlined.Label
-Outlined.LabelImportant
-Outlined.LabelOff
Outlined.Lan
Outlined.Landscape
Outlined.Landslide
@@ -3115,8 +2900,6 @@
Outlined.LaptopChromebook
Outlined.LaptopMac
Outlined.LaptopWindows
-Outlined.LastPage
-Outlined.Launch
Outlined.Layers
Outlined.LayersClear
Outlined.Leaderboard
@@ -3128,7 +2911,6 @@
Outlined.LensBlur
Outlined.LibraryAdd
Outlined.LibraryAddCheck
-Outlined.LibraryBooks
Outlined.LibraryMusic
Outlined.Light
Outlined.LightMode
@@ -3142,9 +2924,6 @@
Outlined.LinkOff
Outlined.LinkedCamera
Outlined.Liquor
-Outlined.List
-Outlined.ListAlt
-Outlined.LiveHelp
Outlined.LiveTv
Outlined.Living
Outlined.LocalActivity
@@ -3188,9 +2967,7 @@
Outlined.LockOpen
Outlined.LockPerson
Outlined.LockReset
-Outlined.Login
Outlined.LogoDev
-Outlined.Logout
Outlined.Looks
Outlined.Looks3
Outlined.Looks4
@@ -3218,7 +2995,6 @@
Outlined.Man4
Outlined.ManageAccounts
Outlined.ManageHistory
-Outlined.ManageSearch
Outlined.Map
Outlined.MapsHomeWork
Outlined.MapsUgc
@@ -3242,11 +3018,7 @@
Outlined.MeetingRoom
Outlined.Memory
Outlined.Menu
-Outlined.MenuBook
-Outlined.MenuOpen
Outlined.Merge
-Outlined.MergeType
-Outlined.Message
Outlined.Mic
Outlined.MicExternalOff
Outlined.MicExternalOn
@@ -3257,11 +3029,9 @@
Outlined.Minimize
Outlined.MinorCrash
Outlined.MiscellaneousServices
-Outlined.MissedVideoCall
Outlined.Mms
Outlined.MobileFriendly
Outlined.MobileOff
-Outlined.MobileScreenShare
Outlined.MobiledataOff
Outlined.Mode
Outlined.ModeComment
@@ -3283,7 +3053,6 @@
Outlined.Mood
Outlined.MoodBad
Outlined.Moped
-Outlined.More
Outlined.MoreHoriz
Outlined.MoreTime
Outlined.MoreVert
@@ -3303,7 +3072,6 @@
Outlined.MovieFilter
Outlined.Moving
Outlined.Mp
-Outlined.MultilineChart
Outlined.MultipleStop
Outlined.Museum
Outlined.MusicNote
@@ -3313,8 +3081,6 @@
Outlined.Nat
Outlined.Nature
Outlined.NaturePeople
-Outlined.NavigateBefore
-Outlined.NavigateNext
Outlined.Navigation
Outlined.NearMe
Outlined.NearMeDisabled
@@ -3332,8 +3098,6 @@
Outlined.NewLabel
Outlined.NewReleases
Outlined.Newspaper
-Outlined.NextPlan
-Outlined.NextWeek
Outlined.Nfc
Outlined.NightShelter
Outlined.Nightlife
@@ -3365,12 +3129,8 @@
Outlined.NorthWest
Outlined.NotAccessible
Outlined.NotInterested
-Outlined.NotListedLocation
Outlined.NotStarted
-Outlined.Note
-Outlined.NoteAdd
Outlined.NoteAlt
-Outlined.Notes
Outlined.NotificationAdd
Outlined.NotificationImportant
Outlined.Notifications
@@ -3381,7 +3141,6 @@
Outlined.Numbers
Outlined.OfflineBolt
Outlined.OfflinePin
-Outlined.OfflineShare
Outlined.OilBarrel
Outlined.OnDeviceTraining
Outlined.OndemandVideo
@@ -3389,12 +3148,10 @@
Outlined.Opacity
Outlined.OpenInBrowser
Outlined.OpenInFull
-Outlined.OpenInNew
Outlined.OpenInNewOff
Outlined.OpenWith
Outlined.OtherHouses
Outlined.Outbond
-Outlined.Outbound
Outlined.Outbox
Outlined.OutdoorGrill
Outlined.Outlet
@@ -3469,14 +3226,11 @@
Outlined.Phone
Outlined.PhoneAndroid
Outlined.PhoneBluetoothSpeaker
-Outlined.PhoneCallback
Outlined.PhoneDisabled
Outlined.PhoneEnabled
-Outlined.PhoneForwarded
Outlined.PhoneInTalk
Outlined.PhoneIphone
Outlined.PhoneLocked
-Outlined.PhoneMissed
Outlined.PhonePaused
Outlined.Phonelink
Outlined.PhonelinkErase
@@ -3518,11 +3272,8 @@
Outlined.PlayDisabled
Outlined.PlayForWork
Outlined.PlayLesson
-Outlined.PlaylistAdd
-Outlined.PlaylistAddCheck
Outlined.PlaylistAddCheckCircle
Outlined.PlaylistAddCircle
-Outlined.PlaylistPlay
Outlined.PlaylistRemove
Outlined.Plumbing
Outlined.PlusOne
@@ -3570,7 +3321,6 @@
Outlined.QuestionAnswer
Outlined.QuestionMark
Outlined.Queue
-Outlined.QueueMusic
Outlined.QueuePlayNext
Outlined.Quickreply
Outlined.Quiz
@@ -3586,17 +3336,14 @@
Outlined.RateReview
Outlined.RawOff
Outlined.RawOn
-Outlined.ReadMore
Outlined.RealEstateAgent
Outlined.Receipt
-Outlined.ReceiptLong
Outlined.RecentActors
Outlined.Recommend
Outlined.RecordVoiceOver
Outlined.Rectangle
Outlined.Recycling
Outlined.Redeem
-Outlined.Redo
Outlined.ReduceCapacity
Outlined.Refresh
Outlined.RememberMe
@@ -3620,8 +3367,6 @@
Outlined.Replay30
Outlined.Replay5
Outlined.ReplayCircleFilled
-Outlined.Reply
-Outlined.ReplyAll
Outlined.Report
Outlined.ReportGmailerrorred
Outlined.ReportOff
@@ -3649,8 +3394,6 @@
Outlined.RoomService
Outlined.Rotate90DegreesCcw
Outlined.Rotate90DegreesCw
-Outlined.RotateLeft
-Outlined.RotateRight
Outlined.RoundaboutLeft
Outlined.RoundaboutRight
Outlined.RoundedCorner
@@ -3659,8 +3402,6 @@
Outlined.Rowing
Outlined.RssFeed
Outlined.Rsvp
-Outlined.Rtt
-Outlined.Rule
Outlined.RuleFolder
Outlined.RunCircle
Outlined.RunningWithErrors
@@ -3680,7 +3421,6 @@
Outlined.Scanner
Outlined.ScatterPlot
Outlined.Schedule
-Outlined.ScheduleSend
Outlined.Schema
Outlined.School
Outlined.Science
@@ -3692,7 +3432,6 @@
Outlined.ScreenRotation
Outlined.ScreenRotationAlt
Outlined.ScreenSearchDesktop
-Outlined.ScreenShare
Outlined.Screenshot
Outlined.ScreenshotMonitor
Outlined.ScubaDiving
@@ -3706,14 +3445,10 @@
Outlined.SecurityUpdate
Outlined.SecurityUpdateGood
Outlined.SecurityUpdateWarning
-Outlined.Segment
Outlined.SelectAll
Outlined.SelfImprovement
Outlined.Sell
-Outlined.Send
-Outlined.SendAndArchive
Outlined.SendTimeExtension
-Outlined.SendToMobile
Outlined.SensorDoor
Outlined.SensorOccupied
Outlined.SensorWindow
@@ -3759,9 +3494,6 @@
Outlined.ShoppingBasket
Outlined.ShoppingCart
Outlined.ShoppingCartCheckout
-Outlined.ShortText
-Outlined.Shortcut
-Outlined.ShowChart
Outlined.Shower
Outlined.Shuffle
Outlined.ShuffleOn
@@ -3817,7 +3549,6 @@
Outlined.Soap
Outlined.SocialDistance
Outlined.SolarPower
-Outlined.Sort
Outlined.SortByAlpha
Outlined.Sos
Outlined.SoupKitchen
@@ -3834,7 +3565,6 @@
Outlined.SpatialTracking
Outlined.Speaker
Outlined.SpeakerGroup
-Outlined.SpeakerNotes
Outlined.SpeakerNotesOff
Outlined.SpeakerPhone
Outlined.Speed
@@ -3871,7 +3601,6 @@
Outlined.Star
Outlined.StarBorder
Outlined.StarBorderPurple500
-Outlined.StarHalf
Outlined.StarOutline
Outlined.StarPurple500
Outlined.StarRate
@@ -3881,10 +3610,8 @@
Outlined.StayCurrentPortrait
Outlined.StayPrimaryLandscape
Outlined.StayPrimaryPortrait
-Outlined.StickyNote2
Outlined.Stop
Outlined.StopCircle
-Outlined.StopScreenShare
Outlined.Storage
Outlined.Store
Outlined.StoreMallDirectory
@@ -3899,7 +3626,6 @@
Outlined.Style
Outlined.SubdirectoryArrowLeft
Outlined.SubdirectoryArrowRight
-Outlined.Subject
Outlined.Subscript
Outlined.Subscriptions
Outlined.Subtitles
@@ -3978,7 +3704,6 @@
Outlined.TextRotationAngleup
Outlined.TextRotationDown
Outlined.TextRotationNone
-Outlined.TextSnippet
Outlined.Textsms
Outlined.Texture
Outlined.TheaterComedy
@@ -4005,7 +3730,6 @@
Outlined.TipsAndUpdates
Outlined.TireRepair
Outlined.Title
-Outlined.Toc
Outlined.Today
Outlined.ToggleOff
Outlined.ToggleOn
@@ -4028,9 +3752,6 @@
Outlined.TransitEnterexit
Outlined.Translate
Outlined.TravelExplore
-Outlined.TrendingDown
-Outlined.TrendingFlat
-Outlined.TrendingUp
Outlined.TripOrigin
Outlined.Troubleshoot
Outlined.Try
@@ -4054,7 +3775,6 @@
Outlined.UTurnRight
Outlined.Umbrella
Outlined.Unarchive
-Outlined.Undo
Outlined.UnfoldLess
Outlined.UnfoldLessDouble
Outlined.UnfoldMore
@@ -4108,10 +3828,7 @@
Outlined.ViewHeadline
Outlined.ViewInAr
Outlined.ViewKanban
-Outlined.ViewList
Outlined.ViewModule
-Outlined.ViewQuilt
-Outlined.ViewSidebar
Outlined.ViewStream
Outlined.ViewTimeline
Outlined.ViewWeek
@@ -4123,10 +3840,6 @@
Outlined.VoiceOverOff
Outlined.Voicemail
Outlined.Volcano
-Outlined.VolumeDown
-Outlined.VolumeMute
-Outlined.VolumeOff
-Outlined.VolumeUp
Outlined.VolunteerActivism
Outlined.VpnKey
Outlined.VpnKeyOff
@@ -4196,9 +3909,7 @@
Outlined.WorkOutline
Outlined.WorkspacePremium
Outlined.Workspaces
-Outlined.WrapText
Outlined.WrongLocation
-Outlined.Wysiwyg
Outlined.Yard
Outlined.YoutubeSearchedFor
Outlined.ZoomIn
@@ -4231,7 +3942,6 @@
Outlined._2mp
Outlined._30fps
Outlined._30fpsSelect
-Outlined._360
Outlined._3dRotation
Outlined._3gMobiledata
Outlined._3k
@@ -4270,8 +3980,6 @@
Rounded.AccessTimeFilled
Rounded.Accessibility
Rounded.AccessibilityNew
-Rounded.Accessible
-Rounded.AccessibleForward
Rounded.AccountBalance
Rounded.AccountBalanceWallet
Rounded.AccountBox
@@ -4303,7 +4011,6 @@
Rounded.AddShoppingCart
Rounded.AddTask
Rounded.AddToDrive
-Rounded.AddToHomeScreen
Rounded.AddToPhotos
Rounded.AddToQueue
Rounded.Addchart
@@ -4323,7 +4030,6 @@
Rounded.AirlineSeatReclineNormal
Rounded.AirlineStops
Rounded.Airlines
-Rounded.AirplaneTicket
Rounded.AirplanemodeActive
Rounded.AirplanemodeInactive
Rounded.Airplay
@@ -4334,22 +4040,18 @@
Rounded.AlarmOn
Rounded.Album
Rounded.AlignHorizontalCenter
-Rounded.AlignHorizontalLeft
-Rounded.AlignHorizontalRight
Rounded.AlignVerticalBottom
Rounded.AlignVerticalCenter
Rounded.AlignVerticalTop
Rounded.AllInbox
Rounded.AllInclusive
Rounded.AllOut
-Rounded.AltRoute
Rounded.AlternateEmail
Rounded.AmpStories
Rounded.Analytics
Rounded.Anchor
Rounded.Android
Rounded.Animation
-Rounded.Announcement
Rounded.Aod
Rounded.Apartment
Rounded.Api
@@ -4363,8 +4065,6 @@
Rounded.Architecture
Rounded.Archive
Rounded.AreaChart
-Rounded.ArrowBack
-Rounded.ArrowBackIos
Rounded.ArrowBackIosNew
Rounded.ArrowCircleDown
Rounded.ArrowCircleLeft
@@ -4374,26 +4074,17 @@
Rounded.ArrowDropDown
Rounded.ArrowDropDownCircle
Rounded.ArrowDropUp
-Rounded.ArrowForward
-Rounded.ArrowForwardIos
-Rounded.ArrowLeft
Rounded.ArrowOutward
-Rounded.ArrowRight
-Rounded.ArrowRightAlt
Rounded.ArrowUpward
Rounded.ArtTrack
-Rounded.Article
Rounded.AspectRatio
Rounded.Assessment
-Rounded.Assignment
Rounded.AssignmentInd
Rounded.AssignmentLate
-Rounded.AssignmentReturn
Rounded.AssignmentReturned
Rounded.AssignmentTurnedIn
Rounded.AssistWalker
Rounded.Assistant
-Rounded.AssistantDirection
Rounded.AssistantPhoto
Rounded.AssuredWorkload
Rounded.Atm
@@ -4421,7 +4112,6 @@
Rounded.BabyChangingStation
Rounded.BackHand
Rounded.Backpack
-Rounded.Backspace
Rounded.Backup
Rounded.BackupTable
Rounded.Badge
@@ -4445,7 +4135,6 @@
Rounded.BatteryFull
Rounded.BatterySaver
Rounded.BatteryStd
-Rounded.BatteryUnknown
Rounded.BeachAccess
Rounded.Bed
Rounded.BedroomBaby
@@ -4468,7 +4157,6 @@
Rounded.BluetoothConnected
Rounded.BluetoothDisabled
Rounded.BluetoothDrive
-Rounded.BluetoothSearching
Rounded.BlurCircular
Rounded.BlurLinear
Rounded.BlurOff
@@ -4495,7 +4183,6 @@
Rounded.BorderTop
Rounded.BorderVertical
Rounded.Boy
-Rounded.BrandingWatermark
Rounded.BreakfastDining
Rounded.Brightness1
Rounded.Brightness2
@@ -4537,12 +4224,6 @@
Rounded.CalendarViewWeek
Rounded.Call
Rounded.CallEnd
-Rounded.CallMade
-Rounded.CallMerge
-Rounded.CallMissed
-Rounded.CallMissedOutgoing
-Rounded.CallReceived
-Rounded.CallSplit
Rounded.CallToAction
Rounded.Camera
Rounded.CameraAlt
@@ -4584,7 +4265,6 @@
Rounded.ChangeCircle
Rounded.ChangeHistory
Rounded.ChargingStation
-Rounded.Chat
Rounded.ChatBubble
Rounded.ChatBubbleOutline
Rounded.Check
@@ -4599,7 +4279,6 @@
Rounded.ChevronRight
Rounded.ChildCare
Rounded.ChildFriendly
-Rounded.ChromeReaderMode
Rounded.Church
Rounded.Circle
Rounded.CircleNotifications
@@ -4631,13 +4310,11 @@
Rounded.CollectionsBookmark
Rounded.ColorLens
Rounded.Colorize
-Rounded.Comment
Rounded.CommentBank
Rounded.CommentsDisabled
Rounded.Commit
Rounded.Commute
Rounded.Compare
-Rounded.CompareArrows
Rounded.CompassCalibration
Rounded.Compost
Rounded.Compress
@@ -4651,7 +4328,6 @@
Rounded.ContactMail
Rounded.ContactPage
Rounded.ContactPhone
-Rounded.ContactSupport
Rounded.Contactless
Rounded.Contacts
Rounded.ContentCopy
@@ -4754,7 +4430,6 @@
Rounded.Dining
Rounded.DinnerDining
Rounded.Directions
-Rounded.DirectionsBike
Rounded.DirectionsBoat
Rounded.DirectionsBoatFilled
Rounded.DirectionsBus
@@ -4764,12 +4439,10 @@
Rounded.DirectionsOff
Rounded.DirectionsRailway
Rounded.DirectionsRailwayFilled
-Rounded.DirectionsRun
Rounded.DirectionsSubway
Rounded.DirectionsSubwayFilled
Rounded.DirectionsTransit
Rounded.DirectionsTransitFilled
-Rounded.DirectionsWalk
Rounded.DirtyLens
Rounded.DisabledByDefault
Rounded.DisabledVisible
@@ -4817,14 +4490,12 @@
Rounded.DragIndicator
Rounded.Draw
Rounded.DriveEta
-Rounded.DriveFileMove
Rounded.DriveFileMoveRtl
Rounded.DriveFileRenameOutline
Rounded.DriveFolderUpload
Rounded.Dry
Rounded.DryCleaning
Rounded.Duo
-Rounded.Dvr
Rounded.DynamicFeed
Rounded.DynamicForm
Rounded.EMobiledata
@@ -4884,10 +4555,8 @@
Rounded.Event
Rounded.EventAvailable
Rounded.EventBusy
-Rounded.EventNote
Rounded.EventRepeat
Rounded.EventSeat
-Rounded.ExitToApp
Rounded.Expand
Rounded.ExpandCircleDown
Rounded.ExpandLess
@@ -4912,7 +4581,6 @@
Rounded.FaceRetouchingNatural
Rounded.FaceRetouchingOff
Rounded.Facebook
-Rounded.FactCheck
Rounded.Factory
Rounded.FamilyRestroom
Rounded.FastForward
@@ -4921,9 +4589,6 @@
Rounded.Favorite
Rounded.FavoriteBorder
Rounded.Fax
-Rounded.FeaturedPlayList
-Rounded.FeaturedVideo
-Rounded.Feed
Rounded.Feedback
Rounded.Female
Rounded.Fence
@@ -5007,7 +4672,6 @@
Rounded.FolderShared
Rounded.FolderSpecial
Rounded.FolderZip
-Rounded.FollowTheSigns
Rounded.FontDownload
Rounded.FontDownloadOff
Rounded.FoodBank
@@ -5016,18 +4680,13 @@
Rounded.ForkRight
Rounded.FormatAlignCenter
Rounded.FormatAlignJustify
-Rounded.FormatAlignLeft
-Rounded.FormatAlignRight
Rounded.FormatBold
Rounded.FormatClear
Rounded.FormatColorFill
Rounded.FormatColorReset
Rounded.FormatColorText
-Rounded.FormatIndentDecrease
-Rounded.FormatIndentIncrease
Rounded.FormatItalic
Rounded.FormatLineSpacing
-Rounded.FormatListBulleted
Rounded.FormatListNumbered
Rounded.FormatListNumberedRtl
Rounded.FormatOverline
@@ -5036,16 +4695,12 @@
Rounded.FormatShapes
Rounded.FormatSize
Rounded.FormatStrikethrough
-Rounded.FormatTextdirectionLToR
-Rounded.FormatTextdirectionRToL
Rounded.FormatUnderlined
Rounded.Fort
Rounded.Forum
-Rounded.Forward
Rounded.Forward10
Rounded.Forward30
Rounded.Forward5
-Rounded.ForwardToInbox
Rounded.Foundation
Rounded.FreeBreakfast
Rounded.FreeCancellation
@@ -5076,7 +4731,6 @@
Rounded.GpsOff
Rounded.Grade
Rounded.Gradient
-Rounded.Grading
Rounded.Grain
Rounded.GraphicEq
Rounded.Grass
@@ -5123,9 +4777,6 @@
Rounded.HeartBroken
Rounded.HeatPump
Rounded.Height
-Rounded.Help
-Rounded.HelpCenter
-Rounded.HelpOutline
Rounded.Hevc
Rounded.Hexagon
Rounded.HideImage
@@ -5182,11 +4833,8 @@
Rounded.IncompleteCircle
Rounded.IndeterminateCheckBox
Rounded.Info
-Rounded.Input
Rounded.InsertChart
Rounded.InsertChartOutlined
-Rounded.InsertComment
-Rounded.InsertDriveFile
Rounded.InsertEmoticon
Rounded.InsertInvitation
Rounded.InsertLink
@@ -5217,10 +4865,7 @@
Rounded.Keyboard
Rounded.KeyboardAlt
Rounded.KeyboardArrowDown
-Rounded.KeyboardArrowLeft
-Rounded.KeyboardArrowRight
Rounded.KeyboardArrowUp
-Rounded.KeyboardBackspace
Rounded.KeyboardCapslock
Rounded.KeyboardCommandKey
Rounded.KeyboardControlKey
@@ -5230,15 +4875,10 @@
Rounded.KeyboardDoubleArrowUp
Rounded.KeyboardHide
Rounded.KeyboardOptionKey
-Rounded.KeyboardReturn
-Rounded.KeyboardTab
Rounded.KeyboardVoice
Rounded.KingBed
Rounded.Kitchen
Rounded.Kitesurfing
-Rounded.Label
-Rounded.LabelImportant
-Rounded.LabelOff
Rounded.Lan
Rounded.Landscape
Rounded.Landslide
@@ -5247,8 +4887,6 @@
Rounded.LaptopChromebook
Rounded.LaptopMac
Rounded.LaptopWindows
-Rounded.LastPage
-Rounded.Launch
Rounded.Layers
Rounded.LayersClear
Rounded.Leaderboard
@@ -5260,7 +4898,6 @@
Rounded.LensBlur
Rounded.LibraryAdd
Rounded.LibraryAddCheck
-Rounded.LibraryBooks
Rounded.LibraryMusic
Rounded.Light
Rounded.LightMode
@@ -5274,9 +4911,6 @@
Rounded.LinkOff
Rounded.LinkedCamera
Rounded.Liquor
-Rounded.List
-Rounded.ListAlt
-Rounded.LiveHelp
Rounded.LiveTv
Rounded.Living
Rounded.LocalActivity
@@ -5320,9 +4954,7 @@
Rounded.LockOpen
Rounded.LockPerson
Rounded.LockReset
-Rounded.Login
Rounded.LogoDev
-Rounded.Logout
Rounded.Looks
Rounded.Looks3
Rounded.Looks4
@@ -5350,7 +4982,6 @@
Rounded.Man4
Rounded.ManageAccounts
Rounded.ManageHistory
-Rounded.ManageSearch
Rounded.Map
Rounded.MapsHomeWork
Rounded.MapsUgc
@@ -5374,11 +5005,7 @@
Rounded.MeetingRoom
Rounded.Memory
Rounded.Menu
-Rounded.MenuBook
-Rounded.MenuOpen
Rounded.Merge
-Rounded.MergeType
-Rounded.Message
Rounded.Mic
Rounded.MicExternalOff
Rounded.MicExternalOn
@@ -5389,11 +5016,9 @@
Rounded.Minimize
Rounded.MinorCrash
Rounded.MiscellaneousServices
-Rounded.MissedVideoCall
Rounded.Mms
Rounded.MobileFriendly
Rounded.MobileOff
-Rounded.MobileScreenShare
Rounded.MobiledataOff
Rounded.Mode
Rounded.ModeComment
@@ -5415,7 +5040,6 @@
Rounded.Mood
Rounded.MoodBad
Rounded.Moped
-Rounded.More
Rounded.MoreHoriz
Rounded.MoreTime
Rounded.MoreVert
@@ -5435,7 +5059,6 @@
Rounded.MovieFilter
Rounded.Moving
Rounded.Mp
-Rounded.MultilineChart
Rounded.MultipleStop
Rounded.Museum
Rounded.MusicNote
@@ -5445,8 +5068,6 @@
Rounded.Nat
Rounded.Nature
Rounded.NaturePeople
-Rounded.NavigateBefore
-Rounded.NavigateNext
Rounded.Navigation
Rounded.NearMe
Rounded.NearMeDisabled
@@ -5464,8 +5085,6 @@
Rounded.NewLabel
Rounded.NewReleases
Rounded.Newspaper
-Rounded.NextPlan
-Rounded.NextWeek
Rounded.Nfc
Rounded.NightShelter
Rounded.Nightlife
@@ -5497,12 +5116,8 @@
Rounded.NorthWest
Rounded.NotAccessible
Rounded.NotInterested
-Rounded.NotListedLocation
Rounded.NotStarted
-Rounded.Note
-Rounded.NoteAdd
Rounded.NoteAlt
-Rounded.Notes
Rounded.NotificationAdd
Rounded.NotificationImportant
Rounded.Notifications
@@ -5513,7 +5128,6 @@
Rounded.Numbers
Rounded.OfflineBolt
Rounded.OfflinePin
-Rounded.OfflineShare
Rounded.OilBarrel
Rounded.OnDeviceTraining
Rounded.OndemandVideo
@@ -5521,12 +5135,10 @@
Rounded.Opacity
Rounded.OpenInBrowser
Rounded.OpenInFull
-Rounded.OpenInNew
Rounded.OpenInNewOff
Rounded.OpenWith
Rounded.OtherHouses
Rounded.Outbond
-Rounded.Outbound
Rounded.Outbox
Rounded.OutdoorGrill
Rounded.Outlet
@@ -5601,14 +5213,11 @@
Rounded.Phone
Rounded.PhoneAndroid
Rounded.PhoneBluetoothSpeaker
-Rounded.PhoneCallback
Rounded.PhoneDisabled
Rounded.PhoneEnabled
-Rounded.PhoneForwarded
Rounded.PhoneInTalk
Rounded.PhoneIphone
Rounded.PhoneLocked
-Rounded.PhoneMissed
Rounded.PhonePaused
Rounded.Phonelink
Rounded.PhonelinkErase
@@ -5650,11 +5259,8 @@
Rounded.PlayDisabled
Rounded.PlayForWork
Rounded.PlayLesson
-Rounded.PlaylistAdd
-Rounded.PlaylistAddCheck
Rounded.PlaylistAddCheckCircle
Rounded.PlaylistAddCircle
-Rounded.PlaylistPlay
Rounded.PlaylistRemove
Rounded.Plumbing
Rounded.PlusOne
@@ -5702,7 +5308,6 @@
Rounded.QuestionAnswer
Rounded.QuestionMark
Rounded.Queue
-Rounded.QueueMusic
Rounded.QueuePlayNext
Rounded.Quickreply
Rounded.Quiz
@@ -5718,17 +5323,14 @@
Rounded.RateReview
Rounded.RawOff
Rounded.RawOn
-Rounded.ReadMore
Rounded.RealEstateAgent
Rounded.Receipt
-Rounded.ReceiptLong
Rounded.RecentActors
Rounded.Recommend
Rounded.RecordVoiceOver
Rounded.Rectangle
Rounded.Recycling
Rounded.Redeem
-Rounded.Redo
Rounded.ReduceCapacity
Rounded.Refresh
Rounded.RememberMe
@@ -5752,8 +5354,6 @@
Rounded.Replay30
Rounded.Replay5
Rounded.ReplayCircleFilled
-Rounded.Reply
-Rounded.ReplyAll
Rounded.Report
Rounded.ReportGmailerrorred
Rounded.ReportOff
@@ -5781,8 +5381,6 @@
Rounded.RoomService
Rounded.Rotate90DegreesCcw
Rounded.Rotate90DegreesCw
-Rounded.RotateLeft
-Rounded.RotateRight
Rounded.RoundaboutLeft
Rounded.RoundaboutRight
Rounded.RoundedCorner
@@ -5791,8 +5389,6 @@
Rounded.Rowing
Rounded.RssFeed
Rounded.Rsvp
-Rounded.Rtt
-Rounded.Rule
Rounded.RuleFolder
Rounded.RunCircle
Rounded.RunningWithErrors
@@ -5812,7 +5408,6 @@
Rounded.Scanner
Rounded.ScatterPlot
Rounded.Schedule
-Rounded.ScheduleSend
Rounded.Schema
Rounded.School
Rounded.Science
@@ -5824,7 +5419,6 @@
Rounded.ScreenRotation
Rounded.ScreenRotationAlt
Rounded.ScreenSearchDesktop
-Rounded.ScreenShare
Rounded.Screenshot
Rounded.ScreenshotMonitor
Rounded.ScubaDiving
@@ -5838,14 +5432,10 @@
Rounded.SecurityUpdate
Rounded.SecurityUpdateGood
Rounded.SecurityUpdateWarning
-Rounded.Segment
Rounded.SelectAll
Rounded.SelfImprovement
Rounded.Sell
-Rounded.Send
-Rounded.SendAndArchive
Rounded.SendTimeExtension
-Rounded.SendToMobile
Rounded.SensorDoor
Rounded.SensorOccupied
Rounded.SensorWindow
@@ -5891,9 +5481,6 @@
Rounded.ShoppingBasket
Rounded.ShoppingCart
Rounded.ShoppingCartCheckout
-Rounded.ShortText
-Rounded.Shortcut
-Rounded.ShowChart
Rounded.Shower
Rounded.Shuffle
Rounded.ShuffleOn
@@ -5949,7 +5536,6 @@
Rounded.Soap
Rounded.SocialDistance
Rounded.SolarPower
-Rounded.Sort
Rounded.SortByAlpha
Rounded.Sos
Rounded.SoupKitchen
@@ -5966,7 +5552,6 @@
Rounded.SpatialTracking
Rounded.Speaker
Rounded.SpeakerGroup
-Rounded.SpeakerNotes
Rounded.SpeakerNotesOff
Rounded.SpeakerPhone
Rounded.Speed
@@ -6003,7 +5588,6 @@
Rounded.Star
Rounded.StarBorder
Rounded.StarBorderPurple500
-Rounded.StarHalf
Rounded.StarOutline
Rounded.StarPurple500
Rounded.StarRate
@@ -6013,10 +5597,8 @@
Rounded.StayCurrentPortrait
Rounded.StayPrimaryLandscape
Rounded.StayPrimaryPortrait
-Rounded.StickyNote2
Rounded.Stop
Rounded.StopCircle
-Rounded.StopScreenShare
Rounded.Storage
Rounded.Store
Rounded.StoreMallDirectory
@@ -6031,7 +5613,6 @@
Rounded.Style
Rounded.SubdirectoryArrowLeft
Rounded.SubdirectoryArrowRight
-Rounded.Subject
Rounded.Subscript
Rounded.Subscriptions
Rounded.Subtitles
@@ -6110,7 +5691,6 @@
Rounded.TextRotationAngleup
Rounded.TextRotationDown
Rounded.TextRotationNone
-Rounded.TextSnippet
Rounded.Textsms
Rounded.Texture
Rounded.TheaterComedy
@@ -6137,7 +5717,6 @@
Rounded.TipsAndUpdates
Rounded.TireRepair
Rounded.Title
-Rounded.Toc
Rounded.Today
Rounded.ToggleOff
Rounded.ToggleOn
@@ -6160,9 +5739,6 @@
Rounded.TransitEnterexit
Rounded.Translate
Rounded.TravelExplore
-Rounded.TrendingDown
-Rounded.TrendingFlat
-Rounded.TrendingUp
Rounded.TripOrigin
Rounded.Troubleshoot
Rounded.Try
@@ -6186,7 +5762,6 @@
Rounded.UTurnRight
Rounded.Umbrella
Rounded.Unarchive
-Rounded.Undo
Rounded.UnfoldLess
Rounded.UnfoldLessDouble
Rounded.UnfoldMore
@@ -6240,10 +5815,7 @@
Rounded.ViewHeadline
Rounded.ViewInAr
Rounded.ViewKanban
-Rounded.ViewList
Rounded.ViewModule
-Rounded.ViewQuilt
-Rounded.ViewSidebar
Rounded.ViewStream
Rounded.ViewTimeline
Rounded.ViewWeek
@@ -6255,10 +5827,6 @@
Rounded.VoiceOverOff
Rounded.Voicemail
Rounded.Volcano
-Rounded.VolumeDown
-Rounded.VolumeMute
-Rounded.VolumeOff
-Rounded.VolumeUp
Rounded.VolunteerActivism
Rounded.VpnKey
Rounded.VpnKeyOff
@@ -6328,9 +5896,7 @@
Rounded.WorkOutline
Rounded.WorkspacePremium
Rounded.Workspaces
-Rounded.WrapText
Rounded.WrongLocation
-Rounded.Wysiwyg
Rounded.Yard
Rounded.YoutubeSearchedFor
Rounded.ZoomIn
@@ -6363,7 +5929,6 @@
Rounded._2mp
Rounded._30fps
Rounded._30fpsSelect
-Rounded._360
Rounded._3dRotation
Rounded._3gMobiledata
Rounded._3k
@@ -6402,8 +5967,6 @@
Sharp.AccessTimeFilled
Sharp.Accessibility
Sharp.AccessibilityNew
-Sharp.Accessible
-Sharp.AccessibleForward
Sharp.AccountBalance
Sharp.AccountBalanceWallet
Sharp.AccountBox
@@ -6435,7 +5998,6 @@
Sharp.AddShoppingCart
Sharp.AddTask
Sharp.AddToDrive
-Sharp.AddToHomeScreen
Sharp.AddToPhotos
Sharp.AddToQueue
Sharp.Addchart
@@ -6455,7 +6017,6 @@
Sharp.AirlineSeatReclineNormal
Sharp.AirlineStops
Sharp.Airlines
-Sharp.AirplaneTicket
Sharp.AirplanemodeActive
Sharp.AirplanemodeInactive
Sharp.Airplay
@@ -6466,22 +6027,18 @@
Sharp.AlarmOn
Sharp.Album
Sharp.AlignHorizontalCenter
-Sharp.AlignHorizontalLeft
-Sharp.AlignHorizontalRight
Sharp.AlignVerticalBottom
Sharp.AlignVerticalCenter
Sharp.AlignVerticalTop
Sharp.AllInbox
Sharp.AllInclusive
Sharp.AllOut
-Sharp.AltRoute
Sharp.AlternateEmail
Sharp.AmpStories
Sharp.Analytics
Sharp.Anchor
Sharp.Android
Sharp.Animation
-Sharp.Announcement
Sharp.Aod
Sharp.Apartment
Sharp.Api
@@ -6495,8 +6052,6 @@
Sharp.Architecture
Sharp.Archive
Sharp.AreaChart
-Sharp.ArrowBack
-Sharp.ArrowBackIos
Sharp.ArrowBackIosNew
Sharp.ArrowCircleDown
Sharp.ArrowCircleLeft
@@ -6506,26 +6061,17 @@
Sharp.ArrowDropDown
Sharp.ArrowDropDownCircle
Sharp.ArrowDropUp
-Sharp.ArrowForward
-Sharp.ArrowForwardIos
-Sharp.ArrowLeft
Sharp.ArrowOutward
-Sharp.ArrowRight
-Sharp.ArrowRightAlt
Sharp.ArrowUpward
Sharp.ArtTrack
-Sharp.Article
Sharp.AspectRatio
Sharp.Assessment
-Sharp.Assignment
Sharp.AssignmentInd
Sharp.AssignmentLate
-Sharp.AssignmentReturn
Sharp.AssignmentReturned
Sharp.AssignmentTurnedIn
Sharp.AssistWalker
Sharp.Assistant
-Sharp.AssistantDirection
Sharp.AssistantPhoto
Sharp.AssuredWorkload
Sharp.Atm
@@ -6553,7 +6099,6 @@
Sharp.BabyChangingStation
Sharp.BackHand
Sharp.Backpack
-Sharp.Backspace
Sharp.Backup
Sharp.BackupTable
Sharp.Badge
@@ -6577,7 +6122,6 @@
Sharp.BatteryFull
Sharp.BatterySaver
Sharp.BatteryStd
-Sharp.BatteryUnknown
Sharp.BeachAccess
Sharp.Bed
Sharp.BedroomBaby
@@ -6600,7 +6144,6 @@
Sharp.BluetoothConnected
Sharp.BluetoothDisabled
Sharp.BluetoothDrive
-Sharp.BluetoothSearching
Sharp.BlurCircular
Sharp.BlurLinear
Sharp.BlurOff
@@ -6627,7 +6170,6 @@
Sharp.BorderTop
Sharp.BorderVertical
Sharp.Boy
-Sharp.BrandingWatermark
Sharp.BreakfastDining
Sharp.Brightness1
Sharp.Brightness2
@@ -6669,12 +6211,6 @@
Sharp.CalendarViewWeek
Sharp.Call
Sharp.CallEnd
-Sharp.CallMade
-Sharp.CallMerge
-Sharp.CallMissed
-Sharp.CallMissedOutgoing
-Sharp.CallReceived
-Sharp.CallSplit
Sharp.CallToAction
Sharp.Camera
Sharp.CameraAlt
@@ -6716,7 +6252,6 @@
Sharp.ChangeCircle
Sharp.ChangeHistory
Sharp.ChargingStation
-Sharp.Chat
Sharp.ChatBubble
Sharp.ChatBubbleOutline
Sharp.Check
@@ -6731,7 +6266,6 @@
Sharp.ChevronRight
Sharp.ChildCare
Sharp.ChildFriendly
-Sharp.ChromeReaderMode
Sharp.Church
Sharp.Circle
Sharp.CircleNotifications
@@ -6763,13 +6297,11 @@
Sharp.CollectionsBookmark
Sharp.ColorLens
Sharp.Colorize
-Sharp.Comment
Sharp.CommentBank
Sharp.CommentsDisabled
Sharp.Commit
Sharp.Commute
Sharp.Compare
-Sharp.CompareArrows
Sharp.CompassCalibration
Sharp.Compost
Sharp.Compress
@@ -6783,7 +6315,6 @@
Sharp.ContactMail
Sharp.ContactPage
Sharp.ContactPhone
-Sharp.ContactSupport
Sharp.Contactless
Sharp.Contacts
Sharp.ContentCopy
@@ -6886,7 +6417,6 @@
Sharp.Dining
Sharp.DinnerDining
Sharp.Directions
-Sharp.DirectionsBike
Sharp.DirectionsBoat
Sharp.DirectionsBoatFilled
Sharp.DirectionsBus
@@ -6896,12 +6426,10 @@
Sharp.DirectionsOff
Sharp.DirectionsRailway
Sharp.DirectionsRailwayFilled
-Sharp.DirectionsRun
Sharp.DirectionsSubway
Sharp.DirectionsSubwayFilled
Sharp.DirectionsTransit
Sharp.DirectionsTransitFilled
-Sharp.DirectionsWalk
Sharp.DirtyLens
Sharp.DisabledByDefault
Sharp.DisabledVisible
@@ -6949,14 +6477,12 @@
Sharp.DragIndicator
Sharp.Draw
Sharp.DriveEta
-Sharp.DriveFileMove
Sharp.DriveFileMoveRtl
Sharp.DriveFileRenameOutline
Sharp.DriveFolderUpload
Sharp.Dry
Sharp.DryCleaning
Sharp.Duo
-Sharp.Dvr
Sharp.DynamicFeed
Sharp.DynamicForm
Sharp.EMobiledata
@@ -7016,10 +6542,8 @@
Sharp.Event
Sharp.EventAvailable
Sharp.EventBusy
-Sharp.EventNote
Sharp.EventRepeat
Sharp.EventSeat
-Sharp.ExitToApp
Sharp.Expand
Sharp.ExpandCircleDown
Sharp.ExpandLess
@@ -7044,7 +6568,6 @@
Sharp.FaceRetouchingNatural
Sharp.FaceRetouchingOff
Sharp.Facebook
-Sharp.FactCheck
Sharp.Factory
Sharp.FamilyRestroom
Sharp.FastForward
@@ -7053,9 +6576,6 @@
Sharp.Favorite
Sharp.FavoriteBorder
Sharp.Fax
-Sharp.FeaturedPlayList
-Sharp.FeaturedVideo
-Sharp.Feed
Sharp.Feedback
Sharp.Female
Sharp.Fence
@@ -7139,7 +6659,6 @@
Sharp.FolderShared
Sharp.FolderSpecial
Sharp.FolderZip
-Sharp.FollowTheSigns
Sharp.FontDownload
Sharp.FontDownloadOff
Sharp.FoodBank
@@ -7148,18 +6667,13 @@
Sharp.ForkRight
Sharp.FormatAlignCenter
Sharp.FormatAlignJustify
-Sharp.FormatAlignLeft
-Sharp.FormatAlignRight
Sharp.FormatBold
Sharp.FormatClear
Sharp.FormatColorFill
Sharp.FormatColorReset
Sharp.FormatColorText
-Sharp.FormatIndentDecrease
-Sharp.FormatIndentIncrease
Sharp.FormatItalic
Sharp.FormatLineSpacing
-Sharp.FormatListBulleted
Sharp.FormatListNumbered
Sharp.FormatListNumberedRtl
Sharp.FormatOverline
@@ -7168,16 +6682,12 @@
Sharp.FormatShapes
Sharp.FormatSize
Sharp.FormatStrikethrough
-Sharp.FormatTextdirectionLToR
-Sharp.FormatTextdirectionRToL
Sharp.FormatUnderlined
Sharp.Fort
Sharp.Forum
-Sharp.Forward
Sharp.Forward10
Sharp.Forward30
Sharp.Forward5
-Sharp.ForwardToInbox
Sharp.Foundation
Sharp.FreeBreakfast
Sharp.FreeCancellation
@@ -7208,7 +6718,6 @@
Sharp.GpsOff
Sharp.Grade
Sharp.Gradient
-Sharp.Grading
Sharp.Grain
Sharp.GraphicEq
Sharp.Grass
@@ -7255,9 +6764,6 @@
Sharp.HeartBroken
Sharp.HeatPump
Sharp.Height
-Sharp.Help
-Sharp.HelpCenter
-Sharp.HelpOutline
Sharp.Hevc
Sharp.Hexagon
Sharp.HideImage
@@ -7314,11 +6820,8 @@
Sharp.IncompleteCircle
Sharp.IndeterminateCheckBox
Sharp.Info
-Sharp.Input
Sharp.InsertChart
Sharp.InsertChartOutlined
-Sharp.InsertComment
-Sharp.InsertDriveFile
Sharp.InsertEmoticon
Sharp.InsertInvitation
Sharp.InsertLink
@@ -7349,10 +6852,7 @@
Sharp.Keyboard
Sharp.KeyboardAlt
Sharp.KeyboardArrowDown
-Sharp.KeyboardArrowLeft
-Sharp.KeyboardArrowRight
Sharp.KeyboardArrowUp
-Sharp.KeyboardBackspace
Sharp.KeyboardCapslock
Sharp.KeyboardCommandKey
Sharp.KeyboardControlKey
@@ -7362,15 +6862,10 @@
Sharp.KeyboardDoubleArrowUp
Sharp.KeyboardHide
Sharp.KeyboardOptionKey
-Sharp.KeyboardReturn
-Sharp.KeyboardTab
Sharp.KeyboardVoice
Sharp.KingBed
Sharp.Kitchen
Sharp.Kitesurfing
-Sharp.Label
-Sharp.LabelImportant
-Sharp.LabelOff
Sharp.Lan
Sharp.Landscape
Sharp.Landslide
@@ -7379,8 +6874,6 @@
Sharp.LaptopChromebook
Sharp.LaptopMac
Sharp.LaptopWindows
-Sharp.LastPage
-Sharp.Launch
Sharp.Layers
Sharp.LayersClear
Sharp.Leaderboard
@@ -7392,7 +6885,6 @@
Sharp.LensBlur
Sharp.LibraryAdd
Sharp.LibraryAddCheck
-Sharp.LibraryBooks
Sharp.LibraryMusic
Sharp.Light
Sharp.LightMode
@@ -7406,9 +6898,6 @@
Sharp.LinkOff
Sharp.LinkedCamera
Sharp.Liquor
-Sharp.List
-Sharp.ListAlt
-Sharp.LiveHelp
Sharp.LiveTv
Sharp.Living
Sharp.LocalActivity
@@ -7452,9 +6941,7 @@
Sharp.LockOpen
Sharp.LockPerson
Sharp.LockReset
-Sharp.Login
Sharp.LogoDev
-Sharp.Logout
Sharp.Looks
Sharp.Looks3
Sharp.Looks4
@@ -7482,7 +6969,6 @@
Sharp.Man4
Sharp.ManageAccounts
Sharp.ManageHistory
-Sharp.ManageSearch
Sharp.Map
Sharp.MapsHomeWork
Sharp.MapsUgc
@@ -7506,11 +6992,7 @@
Sharp.MeetingRoom
Sharp.Memory
Sharp.Menu
-Sharp.MenuBook
-Sharp.MenuOpen
Sharp.Merge
-Sharp.MergeType
-Sharp.Message
Sharp.Mic
Sharp.MicExternalOff
Sharp.MicExternalOn
@@ -7521,11 +7003,9 @@
Sharp.Minimize
Sharp.MinorCrash
Sharp.MiscellaneousServices
-Sharp.MissedVideoCall
Sharp.Mms
Sharp.MobileFriendly
Sharp.MobileOff
-Sharp.MobileScreenShare
Sharp.MobiledataOff
Sharp.Mode
Sharp.ModeComment
@@ -7547,7 +7027,6 @@
Sharp.Mood
Sharp.MoodBad
Sharp.Moped
-Sharp.More
Sharp.MoreHoriz
Sharp.MoreTime
Sharp.MoreVert
@@ -7567,7 +7046,6 @@
Sharp.MovieFilter
Sharp.Moving
Sharp.Mp
-Sharp.MultilineChart
Sharp.MultipleStop
Sharp.Museum
Sharp.MusicNote
@@ -7577,8 +7055,6 @@
Sharp.Nat
Sharp.Nature
Sharp.NaturePeople
-Sharp.NavigateBefore
-Sharp.NavigateNext
Sharp.Navigation
Sharp.NearMe
Sharp.NearMeDisabled
@@ -7596,8 +7072,6 @@
Sharp.NewLabel
Sharp.NewReleases
Sharp.Newspaper
-Sharp.NextPlan
-Sharp.NextWeek
Sharp.Nfc
Sharp.NightShelter
Sharp.Nightlife
@@ -7629,12 +7103,8 @@
Sharp.NorthWest
Sharp.NotAccessible
Sharp.NotInterested
-Sharp.NotListedLocation
Sharp.NotStarted
-Sharp.Note
-Sharp.NoteAdd
Sharp.NoteAlt
-Sharp.Notes
Sharp.NotificationAdd
Sharp.NotificationImportant
Sharp.Notifications
@@ -7645,7 +7115,6 @@
Sharp.Numbers
Sharp.OfflineBolt
Sharp.OfflinePin
-Sharp.OfflineShare
Sharp.OilBarrel
Sharp.OnDeviceTraining
Sharp.OndemandVideo
@@ -7653,12 +7122,10 @@
Sharp.Opacity
Sharp.OpenInBrowser
Sharp.OpenInFull
-Sharp.OpenInNew
Sharp.OpenInNewOff
Sharp.OpenWith
Sharp.OtherHouses
Sharp.Outbond
-Sharp.Outbound
Sharp.Outbox
Sharp.OutdoorGrill
Sharp.Outlet
@@ -7733,14 +7200,11 @@
Sharp.Phone
Sharp.PhoneAndroid
Sharp.PhoneBluetoothSpeaker
-Sharp.PhoneCallback
Sharp.PhoneDisabled
Sharp.PhoneEnabled
-Sharp.PhoneForwarded
Sharp.PhoneInTalk
Sharp.PhoneIphone
Sharp.PhoneLocked
-Sharp.PhoneMissed
Sharp.PhonePaused
Sharp.Phonelink
Sharp.PhonelinkErase
@@ -7782,11 +7246,8 @@
Sharp.PlayDisabled
Sharp.PlayForWork
Sharp.PlayLesson
-Sharp.PlaylistAdd
-Sharp.PlaylistAddCheck
Sharp.PlaylistAddCheckCircle
Sharp.PlaylistAddCircle
-Sharp.PlaylistPlay
Sharp.PlaylistRemove
Sharp.Plumbing
Sharp.PlusOne
@@ -7834,7 +7295,6 @@
Sharp.QuestionAnswer
Sharp.QuestionMark
Sharp.Queue
-Sharp.QueueMusic
Sharp.QueuePlayNext
Sharp.Quickreply
Sharp.Quiz
@@ -7850,17 +7310,14 @@
Sharp.RateReview
Sharp.RawOff
Sharp.RawOn
-Sharp.ReadMore
Sharp.RealEstateAgent
Sharp.Receipt
-Sharp.ReceiptLong
Sharp.RecentActors
Sharp.Recommend
Sharp.RecordVoiceOver
Sharp.Rectangle
Sharp.Recycling
Sharp.Redeem
-Sharp.Redo
Sharp.ReduceCapacity
Sharp.Refresh
Sharp.RememberMe
@@ -7884,8 +7341,6 @@
Sharp.Replay30
Sharp.Replay5
Sharp.ReplayCircleFilled
-Sharp.Reply
-Sharp.ReplyAll
Sharp.Report
Sharp.ReportGmailerrorred
Sharp.ReportOff
@@ -7913,8 +7368,6 @@
Sharp.RoomService
Sharp.Rotate90DegreesCcw
Sharp.Rotate90DegreesCw
-Sharp.RotateLeft
-Sharp.RotateRight
Sharp.RoundaboutLeft
Sharp.RoundaboutRight
Sharp.RoundedCorner
@@ -7923,8 +7376,6 @@
Sharp.Rowing
Sharp.RssFeed
Sharp.Rsvp
-Sharp.Rtt
-Sharp.Rule
Sharp.RuleFolder
Sharp.RunCircle
Sharp.RunningWithErrors
@@ -7944,7 +7395,6 @@
Sharp.Scanner
Sharp.ScatterPlot
Sharp.Schedule
-Sharp.ScheduleSend
Sharp.Schema
Sharp.School
Sharp.Science
@@ -7956,7 +7406,6 @@
Sharp.ScreenRotation
Sharp.ScreenRotationAlt
Sharp.ScreenSearchDesktop
-Sharp.ScreenShare
Sharp.Screenshot
Sharp.ScreenshotMonitor
Sharp.ScubaDiving
@@ -7970,14 +7419,10 @@
Sharp.SecurityUpdate
Sharp.SecurityUpdateGood
Sharp.SecurityUpdateWarning
-Sharp.Segment
Sharp.SelectAll
Sharp.SelfImprovement
Sharp.Sell
-Sharp.Send
-Sharp.SendAndArchive
Sharp.SendTimeExtension
-Sharp.SendToMobile
Sharp.SensorDoor
Sharp.SensorOccupied
Sharp.SensorWindow
@@ -8023,9 +7468,6 @@
Sharp.ShoppingBasket
Sharp.ShoppingCart
Sharp.ShoppingCartCheckout
-Sharp.ShortText
-Sharp.Shortcut
-Sharp.ShowChart
Sharp.Shower
Sharp.Shuffle
Sharp.ShuffleOn
@@ -8081,7 +7523,6 @@
Sharp.Soap
Sharp.SocialDistance
Sharp.SolarPower
-Sharp.Sort
Sharp.SortByAlpha
Sharp.Sos
Sharp.SoupKitchen
@@ -8098,7 +7539,6 @@
Sharp.SpatialTracking
Sharp.Speaker
Sharp.SpeakerGroup
-Sharp.SpeakerNotes
Sharp.SpeakerNotesOff
Sharp.SpeakerPhone
Sharp.Speed
@@ -8135,7 +7575,6 @@
Sharp.Star
Sharp.StarBorder
Sharp.StarBorderPurple500
-Sharp.StarHalf
Sharp.StarOutline
Sharp.StarPurple500
Sharp.StarRate
@@ -8145,10 +7584,8 @@
Sharp.StayCurrentPortrait
Sharp.StayPrimaryLandscape
Sharp.StayPrimaryPortrait
-Sharp.StickyNote2
Sharp.Stop
Sharp.StopCircle
-Sharp.StopScreenShare
Sharp.Storage
Sharp.Store
Sharp.StoreMallDirectory
@@ -8163,7 +7600,6 @@
Sharp.Style
Sharp.SubdirectoryArrowLeft
Sharp.SubdirectoryArrowRight
-Sharp.Subject
Sharp.Subscript
Sharp.Subscriptions
Sharp.Subtitles
@@ -8242,7 +7678,6 @@
Sharp.TextRotationAngleup
Sharp.TextRotationDown
Sharp.TextRotationNone
-Sharp.TextSnippet
Sharp.Textsms
Sharp.Texture
Sharp.TheaterComedy
@@ -8269,7 +7704,6 @@
Sharp.TipsAndUpdates
Sharp.TireRepair
Sharp.Title
-Sharp.Toc
Sharp.Today
Sharp.ToggleOff
Sharp.ToggleOn
@@ -8292,9 +7726,6 @@
Sharp.TransitEnterexit
Sharp.Translate
Sharp.TravelExplore
-Sharp.TrendingDown
-Sharp.TrendingFlat
-Sharp.TrendingUp
Sharp.TripOrigin
Sharp.Troubleshoot
Sharp.Try
@@ -8318,7 +7749,6 @@
Sharp.UTurnRight
Sharp.Umbrella
Sharp.Unarchive
-Sharp.Undo
Sharp.UnfoldLess
Sharp.UnfoldLessDouble
Sharp.UnfoldMore
@@ -8372,10 +7802,7 @@
Sharp.ViewHeadline
Sharp.ViewInAr
Sharp.ViewKanban
-Sharp.ViewList
Sharp.ViewModule
-Sharp.ViewQuilt
-Sharp.ViewSidebar
Sharp.ViewStream
Sharp.ViewTimeline
Sharp.ViewWeek
@@ -8387,10 +7814,6 @@
Sharp.VoiceOverOff
Sharp.Voicemail
Sharp.Volcano
-Sharp.VolumeDown
-Sharp.VolumeMute
-Sharp.VolumeOff
-Sharp.VolumeUp
Sharp.VolunteerActivism
Sharp.VpnKey
Sharp.VpnKeyOff
@@ -8460,9 +7883,7 @@
Sharp.WorkOutline
Sharp.WorkspacePremium
Sharp.Workspaces
-Sharp.WrapText
Sharp.WrongLocation
-Sharp.Wysiwyg
Sharp.Yard
Sharp.YoutubeSearchedFor
Sharp.ZoomIn
@@ -8495,7 +7916,6 @@
Sharp._2mp
Sharp._30fps
Sharp._30fpsSelect
-Sharp._360
Sharp._3dRotation
Sharp._3gMobiledata
Sharp._3k
@@ -8534,8 +7954,6 @@
TwoTone.AccessTimeFilled
TwoTone.Accessibility
TwoTone.AccessibilityNew
-TwoTone.Accessible
-TwoTone.AccessibleForward
TwoTone.AccountBalance
TwoTone.AccountBalanceWallet
TwoTone.AccountBox
@@ -8567,7 +7985,6 @@
TwoTone.AddShoppingCart
TwoTone.AddTask
TwoTone.AddToDrive
-TwoTone.AddToHomeScreen
TwoTone.AddToPhotos
TwoTone.AddToQueue
TwoTone.Addchart
@@ -8587,7 +8004,6 @@
TwoTone.AirlineSeatReclineNormal
TwoTone.AirlineStops
TwoTone.Airlines
-TwoTone.AirplaneTicket
TwoTone.AirplanemodeActive
TwoTone.AirplanemodeInactive
TwoTone.Airplay
@@ -8598,22 +8014,18 @@
TwoTone.AlarmOn
TwoTone.Album
TwoTone.AlignHorizontalCenter
-TwoTone.AlignHorizontalLeft
-TwoTone.AlignHorizontalRight
TwoTone.AlignVerticalBottom
TwoTone.AlignVerticalCenter
TwoTone.AlignVerticalTop
TwoTone.AllInbox
TwoTone.AllInclusive
TwoTone.AllOut
-TwoTone.AltRoute
TwoTone.AlternateEmail
TwoTone.AmpStories
TwoTone.Analytics
TwoTone.Anchor
TwoTone.Android
TwoTone.Animation
-TwoTone.Announcement
TwoTone.Aod
TwoTone.Apartment
TwoTone.Api
@@ -8627,8 +8039,6 @@
TwoTone.Architecture
TwoTone.Archive
TwoTone.AreaChart
-TwoTone.ArrowBack
-TwoTone.ArrowBackIos
TwoTone.ArrowBackIosNew
TwoTone.ArrowCircleDown
TwoTone.ArrowCircleLeft
@@ -8638,26 +8048,17 @@
TwoTone.ArrowDropDown
TwoTone.ArrowDropDownCircle
TwoTone.ArrowDropUp
-TwoTone.ArrowForward
-TwoTone.ArrowForwardIos
-TwoTone.ArrowLeft
TwoTone.ArrowOutward
-TwoTone.ArrowRight
-TwoTone.ArrowRightAlt
TwoTone.ArrowUpward
TwoTone.ArtTrack
-TwoTone.Article
TwoTone.AspectRatio
TwoTone.Assessment
-TwoTone.Assignment
TwoTone.AssignmentInd
TwoTone.AssignmentLate
-TwoTone.AssignmentReturn
TwoTone.AssignmentReturned
TwoTone.AssignmentTurnedIn
TwoTone.AssistWalker
TwoTone.Assistant
-TwoTone.AssistantDirection
TwoTone.AssistantPhoto
TwoTone.AssuredWorkload
TwoTone.Atm
@@ -8685,7 +8086,6 @@
TwoTone.BabyChangingStation
TwoTone.BackHand
TwoTone.Backpack
-TwoTone.Backspace
TwoTone.Backup
TwoTone.BackupTable
TwoTone.Badge
@@ -8709,7 +8109,6 @@
TwoTone.BatteryFull
TwoTone.BatterySaver
TwoTone.BatteryStd
-TwoTone.BatteryUnknown
TwoTone.BeachAccess
TwoTone.Bed
TwoTone.BedroomBaby
@@ -8732,7 +8131,6 @@
TwoTone.BluetoothConnected
TwoTone.BluetoothDisabled
TwoTone.BluetoothDrive
-TwoTone.BluetoothSearching
TwoTone.BlurCircular
TwoTone.BlurLinear
TwoTone.BlurOff
@@ -8759,7 +8157,6 @@
TwoTone.BorderTop
TwoTone.BorderVertical
TwoTone.Boy
-TwoTone.BrandingWatermark
TwoTone.BreakfastDining
TwoTone.Brightness1
TwoTone.Brightness2
@@ -8801,12 +8198,6 @@
TwoTone.CalendarViewWeek
TwoTone.Call
TwoTone.CallEnd
-TwoTone.CallMade
-TwoTone.CallMerge
-TwoTone.CallMissed
-TwoTone.CallMissedOutgoing
-TwoTone.CallReceived
-TwoTone.CallSplit
TwoTone.CallToAction
TwoTone.Camera
TwoTone.CameraAlt
@@ -8848,7 +8239,6 @@
TwoTone.ChangeCircle
TwoTone.ChangeHistory
TwoTone.ChargingStation
-TwoTone.Chat
TwoTone.ChatBubble
TwoTone.ChatBubbleOutline
TwoTone.Check
@@ -8863,7 +8253,6 @@
TwoTone.ChevronRight
TwoTone.ChildCare
TwoTone.ChildFriendly
-TwoTone.ChromeReaderMode
TwoTone.Church
TwoTone.Circle
TwoTone.CircleNotifications
@@ -8895,13 +8284,11 @@
TwoTone.CollectionsBookmark
TwoTone.ColorLens
TwoTone.Colorize
-TwoTone.Comment
TwoTone.CommentBank
TwoTone.CommentsDisabled
TwoTone.Commit
TwoTone.Commute
TwoTone.Compare
-TwoTone.CompareArrows
TwoTone.CompassCalibration
TwoTone.Compost
TwoTone.Compress
@@ -8915,7 +8302,6 @@
TwoTone.ContactMail
TwoTone.ContactPage
TwoTone.ContactPhone
-TwoTone.ContactSupport
TwoTone.Contactless
TwoTone.Contacts
TwoTone.ContentCopy
@@ -9018,7 +8404,6 @@
TwoTone.Dining
TwoTone.DinnerDining
TwoTone.Directions
-TwoTone.DirectionsBike
TwoTone.DirectionsBoat
TwoTone.DirectionsBoatFilled
TwoTone.DirectionsBus
@@ -9028,12 +8413,10 @@
TwoTone.DirectionsOff
TwoTone.DirectionsRailway
TwoTone.DirectionsRailwayFilled
-TwoTone.DirectionsRun
TwoTone.DirectionsSubway
TwoTone.DirectionsSubwayFilled
TwoTone.DirectionsTransit
TwoTone.DirectionsTransitFilled
-TwoTone.DirectionsWalk
TwoTone.DirtyLens
TwoTone.DisabledByDefault
TwoTone.DisabledVisible
@@ -9081,14 +8464,12 @@
TwoTone.DragIndicator
TwoTone.Draw
TwoTone.DriveEta
-TwoTone.DriveFileMove
TwoTone.DriveFileMoveRtl
TwoTone.DriveFileRenameOutline
TwoTone.DriveFolderUpload
TwoTone.Dry
TwoTone.DryCleaning
TwoTone.Duo
-TwoTone.Dvr
TwoTone.DynamicFeed
TwoTone.DynamicForm
TwoTone.EMobiledata
@@ -9148,10 +8529,8 @@
TwoTone.Event
TwoTone.EventAvailable
TwoTone.EventBusy
-TwoTone.EventNote
TwoTone.EventRepeat
TwoTone.EventSeat
-TwoTone.ExitToApp
TwoTone.Expand
TwoTone.ExpandCircleDown
TwoTone.ExpandLess
@@ -9176,7 +8555,6 @@
TwoTone.FaceRetouchingNatural
TwoTone.FaceRetouchingOff
TwoTone.Facebook
-TwoTone.FactCheck
TwoTone.Factory
TwoTone.FamilyRestroom
TwoTone.FastForward
@@ -9185,9 +8563,6 @@
TwoTone.Favorite
TwoTone.FavoriteBorder
TwoTone.Fax
-TwoTone.FeaturedPlayList
-TwoTone.FeaturedVideo
-TwoTone.Feed
TwoTone.Feedback
TwoTone.Female
TwoTone.Fence
@@ -9271,7 +8646,6 @@
TwoTone.FolderShared
TwoTone.FolderSpecial
TwoTone.FolderZip
-TwoTone.FollowTheSigns
TwoTone.FontDownload
TwoTone.FontDownloadOff
TwoTone.FoodBank
@@ -9280,18 +8654,13 @@
TwoTone.ForkRight
TwoTone.FormatAlignCenter
TwoTone.FormatAlignJustify
-TwoTone.FormatAlignLeft
-TwoTone.FormatAlignRight
TwoTone.FormatBold
TwoTone.FormatClear
TwoTone.FormatColorFill
TwoTone.FormatColorReset
TwoTone.FormatColorText
-TwoTone.FormatIndentDecrease
-TwoTone.FormatIndentIncrease
TwoTone.FormatItalic
TwoTone.FormatLineSpacing
-TwoTone.FormatListBulleted
TwoTone.FormatListNumbered
TwoTone.FormatListNumberedRtl
TwoTone.FormatOverline
@@ -9300,16 +8669,12 @@
TwoTone.FormatShapes
TwoTone.FormatSize
TwoTone.FormatStrikethrough
-TwoTone.FormatTextdirectionLToR
-TwoTone.FormatTextdirectionRToL
TwoTone.FormatUnderlined
TwoTone.Fort
TwoTone.Forum
-TwoTone.Forward
TwoTone.Forward10
TwoTone.Forward30
TwoTone.Forward5
-TwoTone.ForwardToInbox
TwoTone.Foundation
TwoTone.FreeBreakfast
TwoTone.FreeCancellation
@@ -9340,7 +8705,6 @@
TwoTone.GpsOff
TwoTone.Grade
TwoTone.Gradient
-TwoTone.Grading
TwoTone.Grain
TwoTone.GraphicEq
TwoTone.Grass
@@ -9387,9 +8751,6 @@
TwoTone.HeartBroken
TwoTone.HeatPump
TwoTone.Height
-TwoTone.Help
-TwoTone.HelpCenter
-TwoTone.HelpOutline
TwoTone.Hevc
TwoTone.Hexagon
TwoTone.HideImage
@@ -9446,11 +8807,8 @@
TwoTone.IncompleteCircle
TwoTone.IndeterminateCheckBox
TwoTone.Info
-TwoTone.Input
TwoTone.InsertChart
TwoTone.InsertChartOutlined
-TwoTone.InsertComment
-TwoTone.InsertDriveFile
TwoTone.InsertEmoticon
TwoTone.InsertInvitation
TwoTone.InsertLink
@@ -9481,10 +8839,7 @@
TwoTone.Keyboard
TwoTone.KeyboardAlt
TwoTone.KeyboardArrowDown
-TwoTone.KeyboardArrowLeft
-TwoTone.KeyboardArrowRight
TwoTone.KeyboardArrowUp
-TwoTone.KeyboardBackspace
TwoTone.KeyboardCapslock
TwoTone.KeyboardCommandKey
TwoTone.KeyboardControlKey
@@ -9494,15 +8849,10 @@
TwoTone.KeyboardDoubleArrowUp
TwoTone.KeyboardHide
TwoTone.KeyboardOptionKey
-TwoTone.KeyboardReturn
-TwoTone.KeyboardTab
TwoTone.KeyboardVoice
TwoTone.KingBed
TwoTone.Kitchen
TwoTone.Kitesurfing
-TwoTone.Label
-TwoTone.LabelImportant
-TwoTone.LabelOff
TwoTone.Lan
TwoTone.Landscape
TwoTone.Landslide
@@ -9511,8 +8861,6 @@
TwoTone.LaptopChromebook
TwoTone.LaptopMac
TwoTone.LaptopWindows
-TwoTone.LastPage
-TwoTone.Launch
TwoTone.Layers
TwoTone.LayersClear
TwoTone.Leaderboard
@@ -9524,7 +8872,6 @@
TwoTone.LensBlur
TwoTone.LibraryAdd
TwoTone.LibraryAddCheck
-TwoTone.LibraryBooks
TwoTone.LibraryMusic
TwoTone.Light
TwoTone.LightMode
@@ -9538,9 +8885,6 @@
TwoTone.LinkOff
TwoTone.LinkedCamera
TwoTone.Liquor
-TwoTone.List
-TwoTone.ListAlt
-TwoTone.LiveHelp
TwoTone.LiveTv
TwoTone.Living
TwoTone.LocalActivity
@@ -9584,9 +8928,7 @@
TwoTone.LockOpen
TwoTone.LockPerson
TwoTone.LockReset
-TwoTone.Login
TwoTone.LogoDev
-TwoTone.Logout
TwoTone.Looks
TwoTone.Looks3
TwoTone.Looks4
@@ -9614,7 +8956,6 @@
TwoTone.Man4
TwoTone.ManageAccounts
TwoTone.ManageHistory
-TwoTone.ManageSearch
TwoTone.Map
TwoTone.MapsHomeWork
TwoTone.MapsUgc
@@ -9638,11 +8979,7 @@
TwoTone.MeetingRoom
TwoTone.Memory
TwoTone.Menu
-TwoTone.MenuBook
-TwoTone.MenuOpen
TwoTone.Merge
-TwoTone.MergeType
-TwoTone.Message
TwoTone.Mic
TwoTone.MicExternalOff
TwoTone.MicExternalOn
@@ -9653,11 +8990,9 @@
TwoTone.Minimize
TwoTone.MinorCrash
TwoTone.MiscellaneousServices
-TwoTone.MissedVideoCall
TwoTone.Mms
TwoTone.MobileFriendly
TwoTone.MobileOff
-TwoTone.MobileScreenShare
TwoTone.MobiledataOff
TwoTone.Mode
TwoTone.ModeComment
@@ -9679,7 +9014,6 @@
TwoTone.Mood
TwoTone.MoodBad
TwoTone.Moped
-TwoTone.More
TwoTone.MoreHoriz
TwoTone.MoreTime
TwoTone.MoreVert
@@ -9699,7 +9033,6 @@
TwoTone.MovieFilter
TwoTone.Moving
TwoTone.Mp
-TwoTone.MultilineChart
TwoTone.MultipleStop
TwoTone.Museum
TwoTone.MusicNote
@@ -9709,8 +9042,6 @@
TwoTone.Nat
TwoTone.Nature
TwoTone.NaturePeople
-TwoTone.NavigateBefore
-TwoTone.NavigateNext
TwoTone.Navigation
TwoTone.NearMe
TwoTone.NearMeDisabled
@@ -9728,8 +9059,6 @@
TwoTone.NewLabel
TwoTone.NewReleases
TwoTone.Newspaper
-TwoTone.NextPlan
-TwoTone.NextWeek
TwoTone.Nfc
TwoTone.NightShelter
TwoTone.Nightlife
@@ -9761,12 +9090,8 @@
TwoTone.NorthWest
TwoTone.NotAccessible
TwoTone.NotInterested
-TwoTone.NotListedLocation
TwoTone.NotStarted
-TwoTone.Note
-TwoTone.NoteAdd
TwoTone.NoteAlt
-TwoTone.Notes
TwoTone.NotificationAdd
TwoTone.NotificationImportant
TwoTone.Notifications
@@ -9777,7 +9102,6 @@
TwoTone.Numbers
TwoTone.OfflineBolt
TwoTone.OfflinePin
-TwoTone.OfflineShare
TwoTone.OilBarrel
TwoTone.OnDeviceTraining
TwoTone.OndemandVideo
@@ -9785,12 +9109,10 @@
TwoTone.Opacity
TwoTone.OpenInBrowser
TwoTone.OpenInFull
-TwoTone.OpenInNew
TwoTone.OpenInNewOff
TwoTone.OpenWith
TwoTone.OtherHouses
TwoTone.Outbond
-TwoTone.Outbound
TwoTone.Outbox
TwoTone.OutdoorGrill
TwoTone.Outlet
@@ -9865,14 +9187,11 @@
TwoTone.Phone
TwoTone.PhoneAndroid
TwoTone.PhoneBluetoothSpeaker
-TwoTone.PhoneCallback
TwoTone.PhoneDisabled
TwoTone.PhoneEnabled
-TwoTone.PhoneForwarded
TwoTone.PhoneInTalk
TwoTone.PhoneIphone
TwoTone.PhoneLocked
-TwoTone.PhoneMissed
TwoTone.PhonePaused
TwoTone.Phonelink
TwoTone.PhonelinkErase
@@ -9914,11 +9233,8 @@
TwoTone.PlayDisabled
TwoTone.PlayForWork
TwoTone.PlayLesson
-TwoTone.PlaylistAdd
-TwoTone.PlaylistAddCheck
TwoTone.PlaylistAddCheckCircle
TwoTone.PlaylistAddCircle
-TwoTone.PlaylistPlay
TwoTone.PlaylistRemove
TwoTone.Plumbing
TwoTone.PlusOne
@@ -9966,7 +9282,6 @@
TwoTone.QuestionAnswer
TwoTone.QuestionMark
TwoTone.Queue
-TwoTone.QueueMusic
TwoTone.QueuePlayNext
TwoTone.Quickreply
TwoTone.Quiz
@@ -9982,17 +9297,14 @@
TwoTone.RateReview
TwoTone.RawOff
TwoTone.RawOn
-TwoTone.ReadMore
TwoTone.RealEstateAgent
TwoTone.Receipt
-TwoTone.ReceiptLong
TwoTone.RecentActors
TwoTone.Recommend
TwoTone.RecordVoiceOver
TwoTone.Rectangle
TwoTone.Recycling
TwoTone.Redeem
-TwoTone.Redo
TwoTone.ReduceCapacity
TwoTone.Refresh
TwoTone.RememberMe
@@ -10016,8 +9328,6 @@
TwoTone.Replay30
TwoTone.Replay5
TwoTone.ReplayCircleFilled
-TwoTone.Reply
-TwoTone.ReplyAll
TwoTone.Report
TwoTone.ReportGmailerrorred
TwoTone.ReportOff
@@ -10045,8 +9355,6 @@
TwoTone.RoomService
TwoTone.Rotate90DegreesCcw
TwoTone.Rotate90DegreesCw
-TwoTone.RotateLeft
-TwoTone.RotateRight
TwoTone.RoundaboutLeft
TwoTone.RoundaboutRight
TwoTone.RoundedCorner
@@ -10055,8 +9363,6 @@
TwoTone.Rowing
TwoTone.RssFeed
TwoTone.Rsvp
-TwoTone.Rtt
-TwoTone.Rule
TwoTone.RuleFolder
TwoTone.RunCircle
TwoTone.RunningWithErrors
@@ -10076,7 +9382,6 @@
TwoTone.Scanner
TwoTone.ScatterPlot
TwoTone.Schedule
-TwoTone.ScheduleSend
TwoTone.Schema
TwoTone.School
TwoTone.Science
@@ -10088,7 +9393,6 @@
TwoTone.ScreenRotation
TwoTone.ScreenRotationAlt
TwoTone.ScreenSearchDesktop
-TwoTone.ScreenShare
TwoTone.Screenshot
TwoTone.ScreenshotMonitor
TwoTone.ScubaDiving
@@ -10102,14 +9406,10 @@
TwoTone.SecurityUpdate
TwoTone.SecurityUpdateGood
TwoTone.SecurityUpdateWarning
-TwoTone.Segment
TwoTone.SelectAll
TwoTone.SelfImprovement
TwoTone.Sell
-TwoTone.Send
-TwoTone.SendAndArchive
TwoTone.SendTimeExtension
-TwoTone.SendToMobile
TwoTone.SensorDoor
TwoTone.SensorOccupied
TwoTone.SensorWindow
@@ -10155,9 +9455,6 @@
TwoTone.ShoppingBasket
TwoTone.ShoppingCart
TwoTone.ShoppingCartCheckout
-TwoTone.ShortText
-TwoTone.Shortcut
-TwoTone.ShowChart
TwoTone.Shower
TwoTone.Shuffle
TwoTone.ShuffleOn
@@ -10213,7 +9510,6 @@
TwoTone.Soap
TwoTone.SocialDistance
TwoTone.SolarPower
-TwoTone.Sort
TwoTone.SortByAlpha
TwoTone.Sos
TwoTone.SoupKitchen
@@ -10230,7 +9526,6 @@
TwoTone.SpatialTracking
TwoTone.Speaker
TwoTone.SpeakerGroup
-TwoTone.SpeakerNotes
TwoTone.SpeakerNotesOff
TwoTone.SpeakerPhone
TwoTone.Speed
@@ -10267,7 +9562,6 @@
TwoTone.Star
TwoTone.StarBorder
TwoTone.StarBorderPurple500
-TwoTone.StarHalf
TwoTone.StarOutline
TwoTone.StarPurple500
TwoTone.StarRate
@@ -10277,10 +9571,8 @@
TwoTone.StayCurrentPortrait
TwoTone.StayPrimaryLandscape
TwoTone.StayPrimaryPortrait
-TwoTone.StickyNote2
TwoTone.Stop
TwoTone.StopCircle
-TwoTone.StopScreenShare
TwoTone.Storage
TwoTone.Store
TwoTone.StoreMallDirectory
@@ -10295,7 +9587,6 @@
TwoTone.Style
TwoTone.SubdirectoryArrowLeft
TwoTone.SubdirectoryArrowRight
-TwoTone.Subject
TwoTone.Subscript
TwoTone.Subscriptions
TwoTone.Subtitles
@@ -10374,7 +9665,6 @@
TwoTone.TextRotationAngleup
TwoTone.TextRotationDown
TwoTone.TextRotationNone
-TwoTone.TextSnippet
TwoTone.Textsms
TwoTone.Texture
TwoTone.TheaterComedy
@@ -10401,7 +9691,6 @@
TwoTone.TipsAndUpdates
TwoTone.TireRepair
TwoTone.Title
-TwoTone.Toc
TwoTone.Today
TwoTone.ToggleOff
TwoTone.ToggleOn
@@ -10424,9 +9713,6 @@
TwoTone.TransitEnterexit
TwoTone.Translate
TwoTone.TravelExplore
-TwoTone.TrendingDown
-TwoTone.TrendingFlat
-TwoTone.TrendingUp
TwoTone.TripOrigin
TwoTone.Troubleshoot
TwoTone.Try
@@ -10450,7 +9736,6 @@
TwoTone.UTurnRight
TwoTone.Umbrella
TwoTone.Unarchive
-TwoTone.Undo
TwoTone.UnfoldLess
TwoTone.UnfoldLessDouble
TwoTone.UnfoldMore
@@ -10504,10 +9789,7 @@
TwoTone.ViewHeadline
TwoTone.ViewInAr
TwoTone.ViewKanban
-TwoTone.ViewList
TwoTone.ViewModule
-TwoTone.ViewQuilt
-TwoTone.ViewSidebar
TwoTone.ViewStream
TwoTone.ViewTimeline
TwoTone.ViewWeek
@@ -10519,10 +9801,6 @@
TwoTone.VoiceOverOff
TwoTone.Voicemail
TwoTone.Volcano
-TwoTone.VolumeDown
-TwoTone.VolumeMute
-TwoTone.VolumeOff
-TwoTone.VolumeUp
TwoTone.VolunteerActivism
TwoTone.VpnKey
TwoTone.VpnKeyOff
@@ -10592,9 +9870,7 @@
TwoTone.WorkOutline
TwoTone.WorkspacePremium
TwoTone.Workspaces
-TwoTone.WrapText
TwoTone.WrongLocation
-TwoTone.Wysiwyg
TwoTone.Yard
TwoTone.YoutubeSearchedFor
TwoTone.ZoomIn
@@ -10627,7 +9903,6 @@
TwoTone._2mp
TwoTone._30fps
TwoTone._30fpsSelect
-TwoTone._360
TwoTone._3dRotation
TwoTone._3gMobiledata
TwoTone._3k
diff --git a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/Icon.kt b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/Icon.kt
index e2ee213..3a94ce1 100644
--- a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/Icon.kt
+++ b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/Icon.kt
@@ -26,10 +26,12 @@
* @property xmlFileName the name of the processed XML file
* @property theme the theme of this icon
* @property fileContent the content of the source XML file that will be parsed.
+ * @property autoMirrored indicates that this Icon can be auto-mirrored on Right to Left layouts.
*/
data class Icon(
val kotlinName: String,
val xmlFileName: String,
val theme: IconTheme,
- val fileContent: String
+ val fileContent: String,
+ val autoMirrored: Boolean
)
diff --git a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconParser.kt b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconParser.kt
index 3bc28e4..5da5017 100644
--- a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconParser.kt
+++ b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconParser.kt
@@ -41,11 +41,10 @@
seekToStartTag()
}
- check(parser.name == "vector") { "The start tag must be <vector>!" }
-
- parser.next()
+ check(parser.name == VECTOR) { "The start tag must be <vector>!" }
val nodes = mutableListOf<VectorNode>()
+ var autoMirrored = false
var currentGroup: VectorNode.Group? = null
@@ -53,6 +52,10 @@
when (parser.eventType) {
START_TAG -> {
when (parser.name) {
+ VECTOR -> {
+ autoMirrored = parser.getValueAsBoolean(AUTO_MIRRORED)
+ }
+
PATH -> {
val pathData = parser.getAttributeValue(
null,
@@ -84,6 +87,7 @@
currentGroup = group
nodes.add(group)
}
+
CLIP_PATH -> { /* TODO: b/147418351 - parse clipping paths */
}
}
@@ -92,7 +96,7 @@
parser.next()
}
- return Vector(nodes)
+ return Vector(autoMirrored, nodes)
}
}
@@ -102,6 +106,12 @@
private fun XmlPullParser.getValueAsFloat(name: String) =
getAttributeValue(null, name)?.toFloatOrNull()
+/**
+ * @return the boolean value for the attribute [name], or 'false' if it couldn't be found
+ */
+private fun XmlPullParser.getValueAsBoolean(name: String) =
+ getAttributeValue(null, name).toBoolean()
+
private fun XmlPullParser.seekToStartTag(): XmlPullParser {
var type = next()
while (type != START_TAG && type != END_DOCUMENT) {
@@ -118,11 +128,13 @@
eventType == END_DOCUMENT || (depth < 1 && eventType == END_TAG)
// XML tag names
+private const val VECTOR = "vector"
private const val CLIP_PATH = "clip-path"
private const val GROUP = "group"
private const val PATH = "path"
// XML attribute names
+private const val AUTO_MIRRORED = "android:autoMirrored"
private const val PATH_DATA = "android:pathData"
private const val FILL_ALPHA = "android:fillAlpha"
private const val STROKE_ALPHA = "android:strokeAlpha"
diff --git a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconProcessor.kt b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconProcessor.kt
index f7c4b66..732b652 100644
--- a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconProcessor.kt
+++ b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconProcessor.kt
@@ -46,11 +46,19 @@
* that we will write to and compare with [expectedApiFile]. This way the generated file can be
* copied to overwrite the expected file, 'confirming' any API changes as a result of changing
* icons in [iconDirectories].
+ * @param expectedAutoMirroredApiFile location of the checked-in API file that contains the current
+ * list of all auto-mirrored icons processed and generated
+ * @param generatedAutoMirroredApiFile location of the to-be-generated API file in the build
+ * directory, that we will write to and compare with [expectedAutoMirroredApiFile]. This way the
+ * generated file can be copied to overwrite the expected file, 'confirming' any API changes as a
+ * result of changing auto-mirrored icons in [iconDirectories]
*/
class IconProcessor(
private val iconDirectories: List<File>,
private val expectedApiFile: File,
- private val generatedApiFile: File
+ private val generatedApiFile: File,
+ private val expectedAutoMirroredApiFile: File,
+ private val generatedAutoMirroredApiFile: File,
) {
/**
* @return a list of processed [Icon]s, from the provided [iconDirectories].
@@ -59,8 +67,11 @@
val icons = loadIcons()
ensureIconsExistInAllThemes(icons)
- writeApiFile(icons, generatedApiFile)
+ val (regularIcons, autoMirroredIcons) = icons.partition { !it.autoMirrored }
+ writeApiFile(regularIcons, generatedApiFile)
+ writeApiFile(autoMirroredIcons, generatedAutoMirroredApiFile)
checkApi(expectedApiFile, generatedApiFile)
+ checkApi(expectedAutoMirroredApiFile, generatedAutoMirroredApiFile)
return icons
}
@@ -79,12 +90,13 @@
// Prefix the icon name with a theme so we can ensure they will be unique when
// copied to res/drawable.
val xmlName = "${theme.themePackageName}_$filename"
-
+ val fileContent = file.readText()
Icon(
kotlinName = kotlinName,
xmlFileName = xmlName,
theme = theme,
- fileContent = processXmlFile(file.readText())
+ fileContent = processXmlFile(fileContent),
+ autoMirrored = isAutoMirrored(fileContent)
)
}
@@ -115,17 +127,23 @@
*/
private fun processXmlFile(fileContent: String): String {
// Remove any defined tint for paths that use theme attributes
- val tintAttribute = Regex.escape("""android:tint="?attr/colorControlNormal">""")
+ val tintAttribute = Regex.escape("""android:tint="?attr/colorControlNormal"""")
val tintRegex = """\n.*?$tintAttribute""".toRegex(RegexOption.MULTILINE)
return fileContent
- .replace(tintRegex, ">")
+ .replace(tintRegex, "")
// The imported icons have white as the default path color, so let's change it to be
// black as is typical on Android.
.replace("@android:color/white", "@android:color/black")
}
/**
+ * Returns true if the given [fileContent] includes an `android:autoMirrored="true"` attribute.
+ */
+private fun isAutoMirrored(fileContent: String): Boolean =
+ fileContent.contains(Regex.fromLiteral("""android:autoMirrored="true""""))
+
+/**
* Ensures that each icon in each theme is available in every other theme
*/
private fun ensureIconsExistInAllThemes(icons: List<Icon>) {
diff --git a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconTestingManifestGenerator.kt b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconTestingManifestGenerator.kt
index c8751d9..36addcd 100644
--- a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconTestingManifestGenerator.kt
+++ b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconTestingManifestGenerator.kt
@@ -16,6 +16,7 @@
package androidx.compose.material.icons.generator
+import com.squareup.kotlinpoet.AnnotationSpec
import com.squareup.kotlinpoet.CodeBlock
import com.squareup.kotlinpoet.FileSpec
import com.squareup.kotlinpoet.FunSpec
@@ -40,13 +41,39 @@
* Generates the list and writes it to [outputSrcDirectory].
*/
fun generateTo(outputSrcDirectory: File) {
- // Split the icons to Core and Extended lists, and generate output for each.
- val (coreIcons, extendedIcons) = icons.partition { CoreIcons.contains(it.kotlinName) }
- generateTo(outputSrcDirectory, coreIcons, "Core")
- generateTo(outputSrcDirectory, extendedIcons, "Extended")
+ // Sort and split the icons to Core, CoreAutoMirrored, Extended, and ExtendedAutoMirrored
+ // lists, and generate output for each.
+ val sortedIcons = icons.sortedBy { it.kotlinName }
+ val (coreIcons, extendedIcons) = sortedIcons.partition { CoreIcons.contains(it.kotlinName) }
+ // Here we write the entire set of icons into the CoreFilledIcons, CoreOutlinedIcons,
+ // ExtendedFilledIcons etc. These files will include the deprecated set of icons that we
+ // also have under the auto-mirrored sets at CoreAutoMirroredFilledIcons,
+ // ExtendedAutoMirroredFilledIcons etc., which are also being generated here.
+ // Eventually, we will have the AllExtendedIcons, AllExtendedAutoMirroredIcons,
+ // AllCoreIcons, and AllCoreAutoMirroredIcons providing a combined list of the relevant
+ // icons for testing.
+ generateTo(outputSrcDirectory, coreIcons, "Core", isAutoMirrored = false)
+ generateTo(
+ outputSrcDirectory,
+ coreIcons.filter { it.autoMirrored },
+ "Core$AutoMirroredName",
+ isAutoMirrored = true
+ )
+ generateTo(outputSrcDirectory, extendedIcons, "Extended", isAutoMirrored = false)
+ generateTo(
+ outputSrcDirectory,
+ extendedIcons.filter { it.autoMirrored },
+ "Extended$AutoMirroredName",
+ isAutoMirrored = true
+ )
}
- private fun generateTo(outputSrcDirectory: File, icons: List<Icon>, prefix: String) {
+ private fun generateTo(
+ outputSrcDirectory: File,
+ icons: List<Icon>,
+ prefix: String,
+ isAutoMirrored: Boolean
+ ) {
val propertyNames: MutableList<String> = mutableListOf()
// Further split each list by themes, otherwise we get a Method too large exception.
// We will then generate another file that returns the result of concatenating the list
@@ -56,14 +83,23 @@
.map { (theme, icons) ->
val propertyName = "$prefix${theme.themeClassName}Icons"
propertyNames += propertyName
- theme to generateListOfIconsForTheme(propertyName, theme, icons)
+ theme to generateListOfIconsForTheme(
+ propertyName,
+ theme,
+ icons,
+ isAutoMirrored
+ )
}
.forEach { (theme, fileSpec) ->
// KotlinPoet bans wildcard imports, and we run into class compilation errors
// (too large a file?) if we add all the imports individually, so let's just add
// the imports to each file manually.
- val wildcardImport =
+ val wildcardImport = if (isAutoMirrored) {
+ "import androidx.compose.material.icons.$AutoMirroredPackageName." +
+ "${theme.themePackageName}.*"
+ } else {
"import androidx.compose.material.icons.${theme.themePackageName}.*"
+ }
fileSpec.writeToWithCopyright(outputSrcDirectory) { fileContent ->
fileContent.replace(
@@ -90,43 +126,55 @@
/**
* Generates a Kotlin file with a list containing all icons of the given [theme].
*
- * @param propertyName the name of the top level property that we should generate the list under
+ * @param propertyName the name of the top level property that we should generate the icons list
+ * under
* @param theme the theme that we are generating the file for
* @param allIcons a list containing all icons that we will filter to match [theme]
+ * @param isAutoMirrored indicates if the icons generated are auto-mirrored
*/
private fun generateListOfIconsForTheme(
propertyName: String,
theme: IconTheme,
- allIcons: List<Icon>
+ allIcons: List<Icon>,
+ isAutoMirrored: Boolean
): FileSpec {
val icons = allIcons.filter { it.theme == theme }
-
- val iconStatements = icons.toStatements()
-
+ val iconStatements = icons.toStatements(isAutoMirrored)
+ val propertySpecBuilder = PropertySpec.builder(propertyName, type = listOfIconsType)
+ // The icons list will either have all as auto-mirrored, or all as not auto-mirrored. The list
+ // with the non auto-mirrored icons will hold references to deprecated icons, so we add a
+ // deprecation annotation for the generated list.
+ if (!isAutoMirrored) {
+ propertySpecBuilder.addAnnotation(
+ AnnotationSpec.builder(Suppress::class).addMember("\"DEPRECATION\"").build()
+ )
+ }
+ propertySpecBuilder.initializer(
+ buildCodeBlock {
+ addStatement("listOf(")
+ indent()
+ iconStatements.forEach { add(it) }
+ unindent()
+ addStatement(")")
+ }
+ )
return FileSpec.builder(PackageNames.MaterialIconsPackage.packageName, propertyName)
- .addProperty(
- PropertySpec.builder(propertyName, type = listOfIconsType)
- .initializer(
- buildCodeBlock {
- addStatement("listOf(")
- indent()
- iconStatements.forEach { add(it) }
- unindent()
- addStatement(")")
- }
- )
- .build()
- ).setIndent().build()
+ .addProperty(propertySpecBuilder.build()).setIndent().build()
}
/**
* @return a list of [CodeBlock] representing all the statements for the body of the list.
- * For example, one statement would look like `(Icons.Filled::Menu) to menu`.
+ * For example, one statement would look like `(Icons.Filled::Menu) to menu` or
+ * `(Icons.AutoMirrored.Filled::Menu) to menu`.
+ *
+ * @param autoMirrored indicates that the icon's statement should be for an auto-mirrored icon
*/
-private fun List<Icon>.toStatements(): List<CodeBlock> {
+private fun List<Icon>.toStatements(autoMirrored: Boolean): List<CodeBlock> {
return mapIndexed { index, icon ->
buildCodeBlock {
- val iconFunctionReference = "(%T.${icon.theme.themeClassName}::${icon.kotlinName})"
+ val autoMirroredPrefix = if (autoMirrored) "$AutoMirroredName." else ""
+ val iconFunctionReference =
+ "(%T.$autoMirroredPrefix${icon.theme.themeClassName}::${icon.kotlinName})"
val text = "$iconFunctionReference to \"${icon.xmlFileName}\""
addStatement(if (index != size - 1) "$text," else text, ClassNames.Icons)
}
diff --git a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconTheme.kt b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconTheme.kt
index 36c38bc..16dacbb 100644
--- a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconTheme.kt
+++ b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconTheme.kt
@@ -16,6 +16,8 @@
package androidx.compose.material.icons.generator
+import java.util.Locale
+
/**
* Enum representing the different themes for Material icons.
*
@@ -42,5 +44,22 @@
/**
* The ClassName representing this [IconTheme] object, so we can generate extension properties on
* the object.
+ *
+ * @see [autoMirroredClassName]
*/
-val IconTheme.className get() = PackageNames.MaterialIconsPackage.className("Icons", themeClassName)
+val IconTheme.className
+ get() =
+ PackageNames.MaterialIconsPackage.className("Icons", themeClassName)
+
+/**
+ * The ClassName representing this [IconTheme] object so we can generate extension properties on the
+ * object when used for auto-mirrored icons.
+ *
+ * @see [className]
+ */
+val IconTheme.autoMirroredClassName
+ get() =
+ PackageNames.MaterialIconsPackage.className("Icons", AutoMirroredName, themeClassName)
+
+internal const val AutoMirroredName = "AutoMirrored"
+internal val AutoMirroredPackageName = AutoMirroredName.lowercase(Locale.ROOT)
diff --git a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconWriter.kt b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconWriter.kt
index 2a399bd..155a6ff 100644
--- a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconWriter.kt
+++ b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/IconWriter.kt
@@ -48,6 +48,18 @@
).createFileSpec()
fileSpec.writeToWithCopyright(outputSrcDirectory)
+
+ // Write additional file specs for auto-mirrored icons. These files will be written into
+ // an automirrored package and will hold a similar icons theme structure underneath.
+ if (vector.autoMirrored) {
+ val autoMirroredFileSpec = ImageVectorGenerator(
+ icon.kotlinName,
+ icon.theme,
+ vector
+ ).createAutoMirroredFileSpec()
+
+ autoMirroredFileSpec.writeToWithCopyright(outputSrcDirectory)
+ }
}
}
}
diff --git a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/ImageVectorGenerator.kt b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/ImageVectorGenerator.kt
index 7c42a9c..f7c8ebc 100644
--- a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/ImageVectorGenerator.kt
+++ b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/ImageVectorGenerator.kt
@@ -19,6 +19,7 @@
import androidx.compose.material.icons.generator.vector.FillType
import androidx.compose.material.icons.generator.vector.Vector
import androidx.compose.material.icons.generator.vector.VectorNode
+import com.squareup.kotlinpoet.AnnotationSpec
import com.squareup.kotlinpoet.CodeBlock
import com.squareup.kotlinpoet.FileSpec
import com.squareup.kotlinpoet.FunSpec
@@ -28,7 +29,7 @@
import java.util.Locale
/**
- * Generator for creating a Kotlin source file with a ImageVectror property for the given [vector],
+ * Generator for creating a Kotlin source file with an ImageVector property for the given [vector],
* with name [iconName] and theme [iconTheme].
*
* @param iconName the name for the generated property, which is also used for the generated file.
@@ -51,26 +52,98 @@
* [PackageNames.MaterialIconsPackage] + [IconTheme.themePackageName].
*/
fun createFileSpec(): FileSpec {
+ val builder = createFileSpecBuilder(themePackageName = iconTheme.themePackageName)
+ val backingProperty = getBackingProperty()
+ // Create a property with a getter. The autoMirror is always false in this case.
+ val propertySpecBuilder =
+ PropertySpec.builder(name = iconName, type = ClassNames.ImageVector)
+ .receiver(iconTheme.className)
+ .getter(
+ iconGetter(
+ backingProperty = backingProperty,
+ iconName = iconName,
+ iconTheme = iconTheme,
+ autoMirror = false
+ )
+ )
+ // Add a deprecation warning with a suggestion to replace this icon's usage with its
+ // equivalent that was generated under the automirrored package.
+ if (vector.autoMirrored) {
+ val autoMirroredPackage = "${PackageNames.MaterialIconsPackage.packageName}." +
+ "$AutoMirroredPackageName.${iconTheme.themePackageName}"
+ propertySpecBuilder.addAnnotation(
+ AnnotationSpec.builder(Deprecated::class)
+ .addMember(
+ "\"Use the AutoMirrored version at %N.%N.%N.%N\"",
+ ClassNames.Icons.simpleName,
+ AutoMirroredName,
+ iconTheme.name,
+ iconName
+ )
+ .addMember(
+ "ReplaceWith( \"%N.%N.%N.%N\", \"$autoMirroredPackage.%N\")",
+ ClassNames.Icons.simpleName,
+ AutoMirroredName,
+ iconTheme.name,
+ iconName,
+ iconName
+ )
+ .build()
+ )
+ }
+ builder.addProperty(propertySpecBuilder.build())
+ builder.addProperty(backingProperty)
+ return builder.setIndent().build()
+ }
+
+ /**
+ * @return a [FileSpec] representing a Kotlin source file containing the property for this
+ * programmatic, auto-mirrored, [vector] representation.
+ *
+ * The package name and hence file location of the generated file is:
+ * [PackageNames.MaterialIconsPackage] + [AutoMirroredPackageName] +
+ * [IconTheme.themePackageName].
+ */
+ fun createAutoMirroredFileSpec(): FileSpec {
+ // Prepend the AutoMirroredName package name to the IconTheme package name.
+ val builder = createFileSpecBuilder(
+ themePackageName = "$AutoMirroredPackageName.${iconTheme.themePackageName}"
+ )
+ val backingProperty = getBackingProperty()
+ // Create a property with a getter. The autoMirror is always false in this case.
+ builder.addProperty(
+ PropertySpec.builder(name = iconName, type = ClassNames.ImageVector)
+ .receiver(iconTheme.autoMirroredClassName)
+ .getter(
+ iconGetter(
+ backingProperty = backingProperty,
+ iconName = iconName,
+ iconTheme = iconTheme,
+ autoMirror = true
+ )
+ )
+ .build()
+ )
+ builder.addProperty(backingProperty)
+ return builder.setIndent().build()
+ }
+
+ private fun createFileSpecBuilder(themePackageName: String): FileSpec.Builder {
val iconsPackage = PackageNames.MaterialIconsPackage.packageName
- val themePackage = iconTheme.themePackageName
- val combinedPackageName = "$iconsPackage.$themePackage"
+ val combinedPackageName = "$iconsPackage.$themePackageName"
+ return FileSpec.builder(
+ packageName = combinedPackageName,
+ fileName = iconName
+ )
+ }
+
+ private fun getBackingProperty(): PropertySpec {
// Use a unique property name for the private backing property. This is because (as of
// Kotlin 1.4) each property with the same name will be considered as a possible candidate
// for resolution, regardless of the access modifier, so by using unique names we reduce
// the size from ~6000 to 1, and speed up compilation time for these icons.
val backingPropertyName = "_" + iconName.replaceFirstChar { it.lowercase(Locale.ROOT) }
- val backingProperty = backingProperty(name = backingPropertyName)
- return FileSpec.builder(
- packageName = combinedPackageName,
- fileName = iconName
- ).addProperty(
- PropertySpec.builder(name = iconName, type = ClassNames.ImageVector)
- .receiver(iconTheme.className)
- .getter(iconGetter(backingProperty, iconName, iconTheme))
- .build()
- ).addProperty(
- backingProperty
- ).setIndent().build()
+ return backingProperty(name = backingPropertyName)
}
/**
@@ -81,7 +154,8 @@
private fun iconGetter(
backingProperty: PropertySpec,
iconName: String,
- iconTheme: IconTheme
+ iconTheme: IconTheme,
+ autoMirror: Boolean
): FunSpec {
return FunSpec.getterBuilder()
.addCode(
@@ -93,8 +167,13 @@
)
.addCode(
buildCodeBlock {
+ val controlFlow = if (autoMirror) {
+ "%N = %M(name = \"$AutoMirroredName.%N.%N\", autoMirror = true)"
+ } else {
+ "%N = %M(name = \"%N.%N\")"
+ }
beginControlFlow(
- "%N = %M(name = \"%N.%N\")",
+ controlFlow,
backingProperty,
MemberNames.MaterialIcon,
iconTheme.name,
@@ -137,6 +216,7 @@
}
endControlFlow()
}
+
is VectorNode.Path -> {
addPath(vectorNode) {
vectorNode.nodes.forEach { pathNode ->
diff --git a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/tasks/IconGenerationTask.kt b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/tasks/IconGenerationTask.kt
index fe2a652..ce7fd5d 100644
--- a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/tasks/IconGenerationTask.kt
+++ b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/tasks/IconGenerationTask.kt
@@ -60,7 +60,7 @@
}
/**
- * Checked-in API file for the generator module, where we will track all the generated icons
+ * Checked-in API file for the generator module, where we will track all the generated icons.
*/
@PathSensitive(PathSensitivity.NONE)
@InputFile
@@ -68,6 +68,17 @@
project.rootProject.project(GeneratorProject).projectDir.resolve("api/icons.txt")
/**
+ * Checked-in API file for the generator module, where we will track all the generated
+ * auto-mirrored icons.
+ */
+ @PathSensitive(PathSensitivity.NONE)
+ @InputFile
+ val expectedAutoMirroredApiFile =
+ project.rootProject.project(GeneratorProject).projectDir.resolve(
+ "api/automirrored_icons.txt"
+ )
+
+ /**
* Root build directory for this task, where outputs will be placed into.
*/
@OutputDirectory
@@ -82,6 +93,15 @@
get() = buildDirectory.resolve("api/icons.txt")
/**
+ * Generated API file that will be placed in the build directory. This can be copied manually
+ * to [expectedAutoMirroredApiFile] to confirm that auto-mirrored icons API changes were
+ * intended.
+ */
+ @get:OutputFile
+ val generatedAutoMirroredApiFile: File
+ get() = buildDirectory.resolve("api/automirrored_icons.txt")
+
+ /**
* @return a list of all processed [Icon]s from [getIconDirectories].
*/
fun loadIcons(): List<Icon> {
@@ -91,7 +111,9 @@
return IconProcessor(
getIconDirectories(),
expectedApiFile,
- generatedApiFile
+ generatedApiFile,
+ expectedAutoMirroredApiFile,
+ generatedAutoMirroredApiFile,
).process()
}
diff --git a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/vector/Vector.kt b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/vector/Vector.kt
index edb90ad..13a711c 100644
--- a/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/vector/Vector.kt
+++ b/compose/material/material/icons/generator/src/main/kotlin/androidx/compose/material/icons/generator/vector/Vector.kt
@@ -19,10 +19,12 @@
/**
* Simplified representation of a vector, with root [nodes].
*
- * [nodes] may either be a singleton list of the root group, or a list of root paths / groups if
- * there are multiple top level declaration.
+ * @param autoMirrored a boolean that indicates if this Vector can be auto-mirrored on left to right
+ * locales
+ * @param nodes may either be a singleton list of the root group, or a list of root paths / groups
+ * if there are multiple top level declaration
*/
-class Vector(val nodes: List<VectorNode>)
+class Vector(val autoMirrored: Boolean, val nodes: List<VectorNode>)
/**
* Simplified vector node representation, as the total set of properties we need to care about
diff --git a/compose/material/material/icons/generator/src/test/kotlin/androidx/compose/material/icons/generator/IconParserTest.kt b/compose/material/material/icons/generator/src/test/kotlin/androidx/compose/material/icons/generator/IconParserTest.kt
index 8676ea2..276adb5 100644
--- a/compose/material/material/icons/generator/src/test/kotlin/androidx/compose/material/icons/generator/IconParserTest.kt
+++ b/compose/material/material/icons/generator/src/test/kotlin/androidx/compose/material/icons/generator/IconParserTest.kt
@@ -18,6 +18,7 @@
import androidx.compose.material.icons.generator.vector.FillType
import androidx.compose.material.icons.generator.vector.PathNode
+import androidx.compose.material.icons.generator.vector.Vector
import androidx.compose.material.icons.generator.vector.VectorNode
import com.google.common.truth.Truth
import org.junit.Test
@@ -32,40 +33,68 @@
@Test
fun parseVector() {
- val icon = Icon("SimpleVector", "simple_vector", IconTheme.Filled, TestVector)
+ val icon = Icon(
+ "SimpleVector",
+ "simple_vector",
+ IconTheme.Filled,
+ TestVector,
+ autoMirrored = false
+ )
val vector = IconParser(icon).parse()
- val nodes = vector.nodes
- Truth.assertThat(nodes.size).isEqualTo(2)
+ Truth.assertThat(vector.autoMirrored).isFalse()
- val firstPath = nodes[0] as VectorNode.Path
- Truth.assertThat(firstPath.fillAlpha).isEqualTo(0.3f)
- Truth.assertThat(firstPath.strokeAlpha).isEqualTo(1f)
- Truth.assertThat(firstPath.fillType).isEqualTo(FillType.NonZero)
-
- val expectedFirstPathNodes = listOf(
- PathNode.MoveTo(20f, 10f),
- PathNode.RelativeLineTo(10f, 10f),
- PathNode.RelativeLineTo(0f, 10f),
- PathNode.RelativeLineTo(-10f, 0f),
- PathNode.Close
- )
- Truth.assertThat(firstPath.nodes).isEqualTo(expectedFirstPathNodes)
-
- val secondPath = nodes[1] as VectorNode.Path
- Truth.assertThat(secondPath.fillAlpha).isEqualTo(1f)
- Truth.assertThat(secondPath.strokeAlpha).isEqualTo(0.9f)
- Truth.assertThat(secondPath.fillType).isEqualTo(FillType.EvenOdd)
-
- val expectedSecondPathNodes = listOf(
- PathNode.MoveTo(16.5f, 9.0f),
- PathNode.RelativeHorizontalTo(3.5f),
- PathNode.RelativeVerticalTo(9f),
- PathNode.RelativeHorizontalTo(-3.5f),
- PathNode.Close
- )
- Truth.assertThat(secondPath.nodes).isEqualTo(expectedSecondPathNodes)
+ assertVectorNodes(vector)
}
+
+ @Test
+ fun parseAutoMirroredVector() {
+ val icon = Icon(
+ "SimpleAutoMirroredVector",
+ "simple_autoMirrored_vector",
+ IconTheme.Filled,
+ TestAutoMirroredVector,
+ autoMirrored = true
+ )
+ val vector = IconParser(icon).parse()
+
+ Truth.assertThat(vector.autoMirrored).isTrue()
+
+ assertVectorNodes(vector)
+ }
+}
+
+private fun assertVectorNodes(vector: Vector) {
+ val nodes = vector.nodes
+ Truth.assertThat(nodes.size).isEqualTo(2)
+
+ val firstPath = nodes[0] as VectorNode.Path
+ Truth.assertThat(firstPath.fillAlpha).isEqualTo(0.3f)
+ Truth.assertThat(firstPath.strokeAlpha).isEqualTo(1f)
+ Truth.assertThat(firstPath.fillType).isEqualTo(FillType.NonZero)
+
+ val expectedFirstPathNodes = listOf(
+ PathNode.MoveTo(20f, 10f),
+ PathNode.RelativeLineTo(10f, 10f),
+ PathNode.RelativeLineTo(0f, 10f),
+ PathNode.RelativeLineTo(-10f, 0f),
+ PathNode.Close
+ )
+ Truth.assertThat(firstPath.nodes).isEqualTo(expectedFirstPathNodes)
+
+ val secondPath = nodes[1] as VectorNode.Path
+ Truth.assertThat(secondPath.fillAlpha).isEqualTo(1f)
+ Truth.assertThat(secondPath.strokeAlpha).isEqualTo(0.9f)
+ Truth.assertThat(secondPath.fillType).isEqualTo(FillType.EvenOdd)
+
+ val expectedSecondPathNodes = listOf(
+ PathNode.MoveTo(16.5f, 9.0f),
+ PathNode.RelativeHorizontalTo(3.5f),
+ PathNode.RelativeVerticalTo(9f),
+ PathNode.RelativeHorizontalTo(-3.5f),
+ PathNode.Close
+ )
+ Truth.assertThat(secondPath.nodes).isEqualTo(expectedSecondPathNodes)
}
private val TestVector = """
@@ -81,3 +110,18 @@
android:fillType="evenOdd" />
</vector>
""".trimIndent()
+
+private val TestAutoMirroredVector = """
+ <vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:autoMirrored="true">
+ <path
+ android:fillAlpha=".3"
+ android:pathData="M20,10, l10,10 0,10 -10, 0z" />
+ <path
+ android:strokeAlpha=".9"
+ android:pathData="M16.5,9h3.5v9h-3.5z"
+ android:fillType="evenOdd" />
+ </vector>
+""".trimIndent()
diff --git a/compose/material/material/icons/generator/src/test/kotlin/androidx/compose/material/icons/generator/IconProcessorTest.kt b/compose/material/material/icons/generator/src/test/kotlin/androidx/compose/material/icons/generator/IconProcessorTest.kt
index 15c45cb..5a6027f 100644
--- a/compose/material/material/icons/generator/src/test/kotlin/androidx/compose/material/icons/generator/IconProcessorTest.kt
+++ b/compose/material/material/icons/generator/src/test/kotlin/androidx/compose/material/icons/generator/IconProcessorTest.kt
@@ -49,13 +49,22 @@
val expectedApiFile = temporaryFolder.newFile("expected-api.txt").apply {
writeText(ExpectedApiFile)
}
+ val expectedAutoMirroredApiFile =
+ temporaryFolder.newFile("expected-automirrored-api.txt").apply {
+ writeText("")
+ }
val generatedApiFile = temporaryFolder.newFile("generated-api.txt")
+ val generatedAutoMirroredApiFile =
+ temporaryFolder.newFile("generated-automirrored-api.txt")
val processor = IconProcessor(
iconDirectories = iconDirectory.listFiles()!!.toList(),
expectedApiFile = expectedApiFile,
- generatedApiFile = generatedApiFile
+ generatedApiFile = generatedApiFile,
+ expectedAutoMirroredApiFile = expectedAutoMirroredApiFile,
+ generatedAutoMirroredApiFile = generatedAutoMirroredApiFile
+
)
val icons = processor.process()
@@ -71,6 +80,51 @@
}
/**
+ * Tests that the processed auto-mirrored icons match what we expect.
+ */
+ @Test
+ fun iconProcessor_noAutoMirroredApiChanges() {
+ val iconDirectory = temporaryFolder.createIconDirectory()
+
+ // Write the test icon to each theme folder
+ iconDirectory.listFiles()!!.forEach { themeDirectory ->
+ themeDirectory.resolve("test_icon.xml").writeText(TestAutoMirroredIconFile)
+ }
+
+ val expectedApiFile = temporaryFolder.newFile("expected-api.txt").apply {
+ writeText("")
+ }
+ val expectedAutoMirroredApiFile =
+ temporaryFolder.newFile("expected-automirrored-api.txt").apply {
+ writeText(ExpectedApiFile)
+ }
+
+ val generatedApiFile = temporaryFolder.newFile("generated-api.txt")
+ val generatedAutoMirroredApiFile =
+ temporaryFolder.newFile("generated-automirrored-api.txt")
+
+ val processor = IconProcessor(
+ iconDirectories = iconDirectory.listFiles()!!.toList(),
+ expectedApiFile = expectedApiFile,
+ generatedApiFile = generatedApiFile,
+ expectedAutoMirroredApiFile = expectedAutoMirroredApiFile,
+ generatedAutoMirroredApiFile = generatedAutoMirroredApiFile
+ )
+
+ val icons = processor.process()
+
+ Truth.assertThat(icons.size).isEqualTo(5)
+
+ icons.forEach { icon ->
+ Truth.assertThat(icon.kotlinName).isEqualTo("TestIcon")
+ val themePackage = icon.theme.themePackageName
+ Truth.assertThat(icon.xmlFileName).isEqualTo("${themePackage}_test_icon")
+ Truth.assertThat(icon.fileContent).isEqualTo(ExpectedAutoMirroredIconFile)
+ Truth.assertThat(icon.autoMirrored).isTrue()
+ }
+ }
+
+ /**
* Tests that an exception is thrown, failing the build, when there are changes between the
* checked in and generated API files.
*/
@@ -87,13 +141,61 @@
val expectedApiFile = temporaryFolder.newFile("expected-api.txt").apply {
writeText("")
}
+ val expectedAutoMirroredApiFile =
+ temporaryFolder.newFile("expected-automirrored-api.txt").apply {
+ writeText("")
+ }
val generatedApiFile = temporaryFolder.newFile("generated-api.txt")
+ val generatedAutoMirroredApiFile =
+ temporaryFolder.newFile("generated-automirrored-api.txt")
val processor = IconProcessor(
iconDirectories = iconDirectory.listFiles()!!.toList(),
expectedApiFile = expectedApiFile,
- generatedApiFile = generatedApiFile
+ generatedApiFile = generatedApiFile,
+ expectedAutoMirroredApiFile = expectedAutoMirroredApiFile,
+ generatedAutoMirroredApiFile = generatedAutoMirroredApiFile
+ )
+
+ // The generated api file conflicts with the expected api file, so we should throw here
+ assertIllegalStateContainingMessage("Found differences when comparing API files") {
+ processor.process()
+ }
+ }
+
+ /**
+ * Tests that an exception is thrown, failing the build, when there are changes between the
+ * checked in and generated auto-mirrored API files.
+ */
+ @Test
+ fun iconProcessor_autoMirroredApiChanges() {
+ val iconDirectory = temporaryFolder.createIconDirectory()
+
+ // Write the test icon to each theme folder
+ iconDirectory.listFiles()!!.forEach { themeDirectory ->
+ themeDirectory.resolve("test_icon.xml").writeText(TestAutoMirroredIconFile)
+ }
+
+ // Create an empty expected API file
+ val expectedApiFile = temporaryFolder.newFile("expected-api.txt").apply {
+ writeText("")
+ }
+ val expectedAutoMirroredApiFile =
+ temporaryFolder.newFile("expected-automirrored-api.txt").apply {
+ writeText("")
+ }
+
+ val generatedApiFile = temporaryFolder.newFile("generated-api.txt")
+ val generatedAutoMirroredApiFile =
+ temporaryFolder.newFile("generated-automirrored-api.txt")
+
+ val processor = IconProcessor(
+ iconDirectories = iconDirectory.listFiles()!!.toList(),
+ expectedApiFile = expectedApiFile,
+ generatedApiFile = generatedApiFile,
+ expectedAutoMirroredApiFile = expectedAutoMirroredApiFile,
+ generatedAutoMirroredApiFile = generatedAutoMirroredApiFile
)
// The generated api file conflicts with the expected api file, so we should throw here
@@ -119,13 +221,62 @@
val expectedApiFile = temporaryFolder.newFile("expected-api.txt").apply {
writeText(ExpectedIconFile)
}
+ val expectedAutoMirroredApiFile =
+ temporaryFolder.newFile("expected-automirrored-api.txt").apply {
+ writeText("")
+ }
val generatedApiFile = temporaryFolder.newFile("generated-api.txt")
+ val generatedAutoMirroredApiFile =
+ temporaryFolder.newFile("generated-automirrored-api.txt")
val processor = IconProcessor(
iconDirectories = iconDirectory.listFiles()!!.toList(),
expectedApiFile = expectedApiFile,
- generatedApiFile = generatedApiFile
+ generatedApiFile = generatedApiFile,
+ expectedAutoMirroredApiFile = expectedAutoMirroredApiFile,
+ generatedAutoMirroredApiFile = generatedAutoMirroredApiFile
+ )
+
+ // Not all icons exist in all themes, so we should throw here
+ assertIllegalStateContainingMessage("Some themes were missing") {
+ processor.process()
+ }
+ }
+
+ /**
+ * Tests that an exception is thrown, failing the build, when not all themes contain the
+ * auto-mirrored icons.
+ */
+ @Test
+ fun iconProcessor_missingAutoMirroredTheme() {
+ val iconDirectory = temporaryFolder.createIconDirectory()
+
+ // Write the test icon to all but one theme folder
+ iconDirectory.listFiles()!!.forEachIndexed { index, themeDirectory ->
+ if (index != 0) {
+ themeDirectory.resolve("test_icon.xml").writeText(TestAutoMirroredIconFile)
+ }
+ }
+
+ val expectedApiFile = temporaryFolder.newFile("expected-api.txt").apply {
+ writeText("")
+ }
+ val expectedAutoMirroredApiFile =
+ temporaryFolder.newFile("expected-automirrored-api.txt").apply {
+ writeText(ExpectedAutoMirroredIconFile)
+ }
+
+ val generatedApiFile = temporaryFolder.newFile("generated-api.txt")
+ val generatedAutoMirroredApiFile =
+ temporaryFolder.newFile("generated-automirrored-api.txt")
+
+ val processor = IconProcessor(
+ iconDirectories = iconDirectory.listFiles()!!.toList(),
+ expectedApiFile = expectedApiFile,
+ generatedApiFile = generatedApiFile,
+ expectedAutoMirroredApiFile = expectedAutoMirroredApiFile,
+ generatedAutoMirroredApiFile = generatedAutoMirroredApiFile
)
// Not all icons exist in all themes, so we should throw here
@@ -153,13 +304,66 @@
val expectedApiFile = temporaryFolder.newFile("expected-api.txt").apply {
writeText(ExpectedIconFile)
}
+ val expectedAutoMirroredApiFile =
+ temporaryFolder.newFile("expected-automirrored-api.txt").apply {
+ writeText("")
+ }
val generatedApiFile = temporaryFolder.newFile("generated-api.txt")
+ val generatedAutoMirroredApiFile =
+ temporaryFolder.newFile("generated-automirrored-api.txt")
val processor = IconProcessor(
iconDirectories = iconDirectory.listFiles()!!.toList(),
expectedApiFile = expectedApiFile,
- generatedApiFile = generatedApiFile
+ generatedApiFile = generatedApiFile,
+ expectedAutoMirroredApiFile = expectedAutoMirroredApiFile,
+ generatedAutoMirroredApiFile = generatedAutoMirroredApiFile
+ )
+
+ // Not all icons exist in all themes, so we should throw here
+ assertIllegalStateContainingMessage("Not all icons were found") {
+ processor.process()
+ }
+ }
+
+ /**
+ * Tests that an exception is thrown, failing the build, when the number of icons in each
+ * theme is not the same.
+ */
+ @Test
+ fun iconProcessor_missingAutoMirroredIcons() {
+ val iconDirectory = temporaryFolder.createIconDirectory()
+
+ // Write the test icon to all themes
+ iconDirectory.listFiles()!!.forEach { themeDirectory ->
+ themeDirectory.resolve("test_icon.xml").writeText(TestAutoMirroredIconFile)
+ }
+
+ // Write a new icon to only one theme
+ iconDirectory.listFiles()!![0].resolve("unique_test_icon")
+ .writeText(TestAutoMirroredIconFile)
+
+ val expectedApiFile = temporaryFolder.newFile("expected-api.txt").apply {
+ writeText("")
+ }
+
+ val expectedAutoMirroredApiFile =
+ temporaryFolder.newFile("expected-automirrored-api.txt").apply {
+ writeText(ExpectedAutoMirroredIconFile)
+ }
+
+ val generatedApiFile = temporaryFolder.newFile("generated-api.txt")
+
+ val generatedAutoMirroredApiFile =
+ temporaryFolder.newFile("generated-automirrored-api.txt")
+
+ val processor = IconProcessor(
+ iconDirectories = iconDirectory.listFiles()!!.toList(),
+ expectedApiFile = expectedApiFile,
+ generatedApiFile = generatedApiFile,
+ expectedAutoMirroredApiFile = expectedAutoMirroredApiFile,
+ generatedAutoMirroredApiFile = generatedAutoMirroredApiFile
)
// Not all icons exist in all themes, so we should throw here
@@ -185,7 +389,9 @@
iconDirectories = iconDirectory.listFiles()!!.toList(),
// Should crash before reaching this point, so just use an empty file
expectedApiFile = temporaryFolder.root,
- generatedApiFile = temporaryFolder.root
+ generatedApiFile = temporaryFolder.root,
+ expectedAutoMirroredApiFile = temporaryFolder.root,
+ generatedAutoMirroredApiFile = temporaryFolder.root
)
// Duplicate icon names, so we should throw here
@@ -240,6 +446,21 @@
""".trimIndent()
+private val TestAutoMirroredIconFile = """
+ <vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24"
+ android:tint="?attr/colorControlNormal"
+ android:autoMirrored="true">
+ <path
+ android:fillColor="@android:color/white"
+ android:pathData="M16.5,9h3.5v9h-3.5z"/>
+ </vector>
+
+""".trimIndent()
+
private val ExpectedIconFile = """
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
@@ -253,6 +474,20 @@
""".trimIndent()
+private val ExpectedAutoMirroredIconFile = """
+ <vector xmlns:android="http://schemas.android.com/apk/res/android"
+ android:width="24dp"
+ android:height="24dp"
+ android:viewportWidth="24"
+ android:viewportHeight="24"
+ android:autoMirrored="true">
+ <path
+ android:fillColor="@android:color/black"
+ android:pathData="M16.5,9h3.5v9h-3.5z"/>
+ </vector>
+
+""".trimIndent()
+
private val ExpectedApiFile = """
Filled.TestIcon
Outlined.TestIcon
diff --git a/compose/material/material/icons/generator/src/test/kotlin/androidx/compose/material/icons/generator/ImageVectorGeneratorTest.kt b/compose/material/material/icons/generator/src/test/kotlin/androidx/compose/material/icons/generator/ImageVectorGeneratorTest.kt
index f557385..32ee1d7 100644
--- a/compose/material/material/icons/generator/src/test/kotlin/androidx/compose/material/icons/generator/ImageVectorGeneratorTest.kt
+++ b/compose/material/material/icons/generator/src/test/kotlin/androidx/compose/material/icons/generator/ImageVectorGeneratorTest.kt
@@ -35,30 +35,75 @@
@Test
fun generateFileSpec() {
- val iconName = "TestVector"
val theme = IconTheme.Filled
-
- val generator = ImageVectorGenerator(
- iconName = iconName,
- iconTheme = theme,
- vector = TestVector
+ assertFileSpec(
+ iconName = "TestVector",
+ theme = theme,
+ testVector = TestVector,
+ expectedPackageName = "${MaterialIconsPackage.packageName}.${theme.themePackageName}",
+ expectedFileContent = ExpectedFile,
+ isAutoMirrored = false
)
-
- val fileSpec = generator.createFileSpec()
-
- Truth.assertThat(fileSpec.name).isEqualTo(iconName)
-
- val expectedPackageName = MaterialIconsPackage.packageName + "." + theme.themePackageName
-
- Truth.assertThat(fileSpec.packageName).isEqualTo(expectedPackageName)
-
- val fileContent = StringBuilder().run {
- fileSpec.writeTo(this)
- toString()
- }
-
- Truth.assertThat(fileContent).isEqualTo(ExpectedFile)
}
+
+ @Test
+ fun generateDeprecatedFileSpec() {
+ val theme = IconTheme.Filled
+ assertFileSpec(
+ iconName = "TestVector",
+ theme = theme,
+ testVector = TestAutoMirroredVector,
+ expectedPackageName = "${MaterialIconsPackage.packageName}.${theme.themePackageName}",
+ expectedFileContent = ExpectedDeprecatedFile,
+ isAutoMirrored = false
+ )
+ }
+
+ @Test
+ fun generateAutoMirroredFileSpec() {
+ val theme = IconTheme.Filled
+ assertFileSpec(
+ iconName = "TestVector",
+ theme = theme,
+ testVector = TestAutoMirroredVector,
+ expectedPackageName = "${MaterialIconsPackage.packageName}.$AutoMirroredPackageName" +
+ ".${theme.themePackageName}",
+ expectedFileContent = ExpectedAutoMirroredFile,
+ isAutoMirrored = true
+ )
+ }
+}
+
+private fun assertFileSpec(
+ iconName: String,
+ theme: IconTheme,
+ testVector: Vector,
+ expectedPackageName: String,
+ expectedFileContent: String,
+ isAutoMirrored: Boolean
+) {
+ val generator = ImageVectorGenerator(
+ iconName = iconName,
+ iconTheme = theme,
+ vector = testVector
+ )
+
+ val fileSpec = if (isAutoMirrored) {
+ generator.createAutoMirroredFileSpec()
+ } else {
+ generator.createFileSpec()
+ }
+
+ Truth.assertThat(fileSpec.name).isEqualTo(iconName)
+
+ Truth.assertThat(fileSpec.packageName).isEqualTo(expectedPackageName)
+
+ val fileContent = StringBuilder().run {
+ fileSpec.writeTo(this)
+ toString()
+ }
+
+ Truth.assertThat(fileContent).isEqualTo(expectedFileContent)
}
@Language("kotlin")
@@ -99,6 +144,88 @@
""".trimIndent()
+@Language("kotlin")
+private val ExpectedDeprecatedFile = """
+ package androidx.compose.material.icons.filled
+
+ import androidx.compose.material.icons.Icons
+ import androidx.compose.material.icons.materialIcon
+ import androidx.compose.material.icons.materialPath
+ import androidx.compose.ui.graphics.PathFillType.Companion.EvenOdd
+ import androidx.compose.ui.graphics.vector.ImageVector
+ import androidx.compose.ui.graphics.vector.group
+ import kotlin.Deprecated
+
+ @Deprecated(
+ "Use the AutoMirrored version at Icons.AutoMirrored.Filled.TestVector",
+ ReplaceWith( "Icons.AutoMirrored.Filled.TestVector",
+ "androidx.compose.material.icons.automirrored.filled.TestVector"),
+ )
+ public val Icons.Filled.TestVector: ImageVector
+ get() {
+ if (_testVector != null) {
+ return _testVector!!
+ }
+ _testVector = materialIcon(name = "Filled.TestVector") {
+ materialPath(fillAlpha = 0.8f) {
+ moveTo(20.0f, 10.0f)
+ lineToRelative(0.0f, 10.0f)
+ lineToRelative(-10.0f, 0.0f)
+ close()
+ }
+ group {
+ materialPath(pathFillType = EvenOdd) {
+ moveTo(0.0f, 10.0f)
+ lineToRelative(-10.0f, 0.0f)
+ close()
+ }
+ }
+ }
+ return _testVector!!
+ }
+
+ private var _testVector: ImageVector? = null
+
+""".trimIndent()
+
+@Language("kotlin")
+private val ExpectedAutoMirroredFile = """
+ package androidx.compose.material.icons.automirrored.filled
+
+ import androidx.compose.material.icons.Icons
+ import androidx.compose.material.icons.materialIcon
+ import androidx.compose.material.icons.materialPath
+ import androidx.compose.ui.graphics.PathFillType.Companion.EvenOdd
+ import androidx.compose.ui.graphics.vector.ImageVector
+ import androidx.compose.ui.graphics.vector.group
+
+ public val Icons.AutoMirrored.Filled.TestVector: ImageVector
+ get() {
+ if (_testVector != null) {
+ return _testVector!!
+ }
+ _testVector = materialIcon(name = "AutoMirrored.Filled.TestVector", autoMirror = true) {
+ materialPath(fillAlpha = 0.8f) {
+ moveTo(20.0f, 10.0f)
+ lineToRelative(0.0f, 10.0f)
+ lineToRelative(-10.0f, 0.0f)
+ close()
+ }
+ group {
+ materialPath(pathFillType = EvenOdd) {
+ moveTo(0.0f, 10.0f)
+ lineToRelative(-10.0f, 0.0f)
+ close()
+ }
+ }
+ }
+ return _testVector!!
+ }
+
+ private var _testVector: ImageVector? = null
+
+""".trimIndent()
+
private val path1 = VectorNode.Path(
strokeAlpha = 1f,
fillAlpha = 0.8f,
@@ -124,4 +251,5 @@
private val group = VectorNode.Group(mutableListOf(path2))
-private val TestVector = Vector(listOf(path1, group))
+private val TestVector = Vector(autoMirrored = false, nodes = listOf(path1, group))
+private val TestAutoMirroredVector = Vector(autoMirrored = true, nodes = listOf(path1, group))
diff --git a/compose/material/material/integration-tests/material-catalog/src/main/java/androidx/compose/material/catalog/library/ui/common/CatalogTopAppBar.kt b/compose/material/material/integration-tests/material-catalog/src/main/java/androidx/compose/material/catalog/library/ui/common/CatalogTopAppBar.kt
index cd707c4..25a42bb 100644
--- a/compose/material/material/integration-tests/material-catalog/src/main/java/androidx/compose/material/catalog/library/ui/common/CatalogTopAppBar.kt
+++ b/compose/material/material/integration-tests/material-catalog/src/main/java/androidx/compose/material/catalog/library/ui/common/CatalogTopAppBar.kt
@@ -28,8 +28,7 @@
import androidx.compose.material.TopAppBar
import androidx.compose.material.catalog.library.R
import androidx.compose.material.icons.Icons
-import androidx.compose.material.icons.filled.ArrowBack
-import androidx.compose.material.icons.filled.MoreVert
+import androidx.compose.material.icons.automirrored.filled.ArrowBack
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
@@ -74,7 +73,7 @@
}
IconButton(onClick = { moreMenuExpanded = true }) {
Icon(
- imageVector = Icons.Default.MoreVert,
+ imageVector = Icons.AutoMirrored.Default.ArrowBack,
contentDescription = null
)
}
@@ -117,7 +116,7 @@
{
IconButton(onClick = onBackClick) {
Icon(
- imageVector = Icons.Default.ArrowBack,
+ imageVector = Icons.AutoMirrored.Filled.ArrowBack,
contentDescription = null
)
}
diff --git a/compose/material/material/integration-tests/material-catalog/src/main/java/androidx/compose/material/catalog/library/ui/example/ExampleItem.kt b/compose/material/material/integration-tests/material-catalog/src/main/java/androidx/compose/material/catalog/library/ui/example/ExampleItem.kt
index 3f5b455..2801d15 100644
--- a/compose/material/material/integration-tests/material-catalog/src/main/java/androidx/compose/material/catalog/library/ui/example/ExampleItem.kt
+++ b/compose/material/material/integration-tests/material-catalog/src/main/java/androidx/compose/material/catalog/library/ui/example/ExampleItem.kt
@@ -35,7 +35,7 @@
import androidx.compose.material.catalog.library.ui.common.BorderWidth
import androidx.compose.material.catalog.library.ui.common.compositeBorderColor
import androidx.compose.material.icons.Icons
-import androidx.compose.material.icons.filled.KeyboardArrowRight
+import androidx.compose.material.icons.automirrored.filled.KeyboardArrowRight
import androidx.compose.runtime.Composable
import androidx.compose.runtime.CompositionLocalProvider
import androidx.compose.ui.Alignment
@@ -75,7 +75,7 @@
}
Spacer(modifier = Modifier.width(ExampleItemPadding))
Icon(
- imageVector = Icons.Default.KeyboardArrowRight,
+ imageVector = Icons.AutoMirrored.Default.KeyboardArrowRight,
contentDescription = null,
modifier = Modifier.align(Alignment.CenterVertically)
)
diff --git a/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/common/CatalogTopAppBar.kt b/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/common/CatalogTopAppBar.kt
index cb9d9b3..20cec86 100644
--- a/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/common/CatalogTopAppBar.kt
+++ b/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/common/CatalogTopAppBar.kt
@@ -19,7 +19,7 @@
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Row
import androidx.compose.material.icons.Icons
-import androidx.compose.material.icons.filled.ArrowBack
+import androidx.compose.material.icons.automirrored.filled.ArrowBack
import androidx.compose.material.icons.filled.MoreVert
import androidx.compose.material.icons.filled.PushPin
import androidx.compose.material.icons.outlined.PushPin
@@ -136,7 +136,7 @@
if (showBackNavigationIcon) {
IconButton(onClick = onBackClick) {
Icon(
- imageVector = Icons.Default.ArrowBack,
+ imageVector = Icons.AutoMirrored.Default.ArrowBack,
contentDescription = null
)
}
diff --git a/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/example/ExampleItem.kt b/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/example/ExampleItem.kt
index f75ccc2..f9721e6 100644
--- a/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/example/ExampleItem.kt
+++ b/compose/material3/material3/integration-tests/material3-catalog/src/main/java/androidx/compose/material3/catalog/library/ui/example/ExampleItem.kt
@@ -24,7 +24,7 @@
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.width
import androidx.compose.material.icons.Icons
-import androidx.compose.material.icons.filled.KeyboardArrowRight
+import androidx.compose.material.icons.automirrored.filled.KeyboardArrowRight
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.Icon
import androidx.compose.material3.MaterialTheme
@@ -60,7 +60,7 @@
}
Spacer(modifier = Modifier.width(ExampleItemPadding))
Icon(
- imageVector = Icons.Default.KeyboardArrowRight,
+ imageVector = Icons.AutoMirrored.Filled.KeyboardArrowRight,
contentDescription = null,
modifier = Modifier.align(Alignment.CenterVertically)
)
diff --git a/compose/material3/material3/samples/build.gradle b/compose/material3/material3/samples/build.gradle
index eb9d9a3..30c0cbc 100644
--- a/compose/material3/material3/samples/build.gradle
+++ b/compose/material3/material3/samples/build.gradle
@@ -35,7 +35,7 @@
implementation(project(":compose:foundation:foundation"))
implementation(project(":compose:foundation:foundation-layout"))
implementation("androidx.compose.material:material:1.2.1")
- implementation("androidx.compose.material:material-icons-extended:1.4.0")
+ implementation(project(":compose:material:material-icons-extended"))
implementation(project(":compose:material3:material3"))
implementation("androidx.compose.runtime:runtime:1.2.1")
implementation("androidx.compose.ui:ui:1.2.1")
diff --git a/compose/material3/material3/samples/src/main/java/androidx/compose/material3/samples/SegmentedButtonSamples.kt b/compose/material3/material3/samples/src/main/java/androidx/compose/material3/samples/SegmentedButtonSamples.kt
index 0ac189c..ba51a05 100644
--- a/compose/material3/material3/samples/src/main/java/androidx/compose/material3/samples/SegmentedButtonSamples.kt
+++ b/compose/material3/material3/samples/src/main/java/androidx/compose/material3/samples/SegmentedButtonSamples.kt
@@ -20,9 +20,9 @@
import androidx.compose.foundation.layout.size
import androidx.compose.material.Icon
import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.automirrored.filled.TrendingUp
import androidx.compose.material.icons.filled.BookmarkBorder
import androidx.compose.material.icons.filled.StarBorder
-import androidx.compose.material.icons.filled.TrendingUp
import androidx.compose.material3.ExperimentalMaterial3Api
import androidx.compose.material3.MultiChoiceSegmentedButtonRow
import androidx.compose.material3.SegmentedButton
@@ -67,7 +67,7 @@
val options = listOf("Favorites", "Trending", "Saved")
val icons = listOf(
Icons.Filled.StarBorder,
- Icons.Filled.TrendingUp,
+ Icons.AutoMirrored.Filled.TrendingUp,
Icons.Filled.BookmarkBorder
)
MultiChoiceSegmentedButtonRow {
diff --git a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/AppBarScreenshotTest.kt b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/AppBarScreenshotTest.kt
index 7742393..ddbb438 100644
--- a/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/AppBarScreenshotTest.kt
+++ b/compose/material3/material3/src/androidAndroidTest/kotlin/androidx/compose/material3/AppBarScreenshotTest.kt
@@ -20,8 +20,8 @@
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.automirrored.filled.ArrowBack
import androidx.compose.material.icons.filled.Add
-import androidx.compose.material.icons.filled.ArrowBack
import androidx.compose.material.icons.filled.Favorite
import androidx.compose.material.icons.filled.Menu
import androidx.compose.material3.TopAppBarDefaults.enterAlwaysScrollBehavior
@@ -63,7 +63,7 @@
navigationIcon = {
IconButton(onClick = { /* doSomething() */ }) {
Icon(
- imageVector = Icons.Filled.ArrowBack,
+ imageVector = Icons.AutoMirrored.Filled.ArrowBack,
contentDescription = "Back"
)
}
@@ -95,7 +95,7 @@
navigationIcon = {
IconButton(onClick = { /* doSomething() */ }) {
Icon(
- imageVector = Icons.Filled.ArrowBack,
+ imageVector = Icons.AutoMirrored.Filled.ArrowBack,
contentDescription = "Back"
)
}
@@ -136,7 +136,7 @@
navigationIcon = {
IconButton(onClick = { /* doSomething() */ }) {
Icon(
- imageVector = Icons.Filled.ArrowBack,
+ imageVector = Icons.AutoMirrored.Filled.ArrowBack,
contentDescription = "Back"
)
}
@@ -167,7 +167,7 @@
navigationIcon = {
IconButton(onClick = { /* doSomething() */ }) {
Icon(
- imageVector = Icons.Filled.ArrowBack,
+ imageVector = Icons.AutoMirrored.Filled.ArrowBack,
contentDescription = "Back"
)
}
@@ -198,7 +198,7 @@
navigationIcon = {
IconButton(onClick = { /* doSomething() */ }) {
Icon(
- imageVector = Icons.Filled.ArrowBack,
+ imageVector = Icons.AutoMirrored.Filled.ArrowBack,
contentDescription = "Back"
)
}
@@ -229,7 +229,7 @@
navigationIcon = {
IconButton(onClick = { /* doSomething() */ }) {
Icon(
- imageVector = Icons.Filled.ArrowBack,
+ imageVector = Icons.AutoMirrored.Filled.ArrowBack,
contentDescription = "Back"
)
}
@@ -260,7 +260,7 @@
navigationIcon = {
IconButton(onClick = { /* doSomething() */ }) {
Icon(
- imageVector = Icons.Filled.ArrowBack,
+ imageVector = Icons.AutoMirrored.Filled.ArrowBack,
contentDescription = "Back"
)
}
@@ -291,7 +291,7 @@
navigationIcon = {
IconButton(onClick = { /* doSomething() */ }) {
Icon(
- imageVector = Icons.Filled.ArrowBack,
+ imageVector = Icons.AutoMirrored.Filled.ArrowBack,
contentDescription = "Back"
)
}
@@ -322,7 +322,7 @@
navigationIcon = {
IconButton(onClick = { /* doSomething() */ }) {
Icon(
- imageVector = Icons.Filled.ArrowBack,
+ imageVector = Icons.AutoMirrored.Filled.ArrowBack,
contentDescription = "Back"
)
}
diff --git a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/DatePicker.kt b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/DatePicker.kt
index 00c2306..a281855 100644
--- a/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/DatePicker.kt
+++ b/compose/material3/material3/src/commonMain/kotlin/androidx/compose/material3/DatePicker.kt
@@ -57,11 +57,11 @@
import androidx.compose.foundation.lazy.rememberLazyListState
import androidx.compose.foundation.shape.CircleShape
import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.automirrored.filled.KeyboardArrowLeft
+import androidx.compose.material.icons.automirrored.filled.KeyboardArrowRight
import androidx.compose.material.icons.filled.ArrowDropDown
import androidx.compose.material.icons.filled.DateRange
import androidx.compose.material.icons.filled.Edit
-import androidx.compose.material.icons.filled.KeyboardArrowLeft
-import androidx.compose.material.icons.filled.KeyboardArrowRight
import androidx.compose.material3.tokens.DatePickerModalTokens
import androidx.compose.material3.tokens.MotionTokens
import androidx.compose.runtime.Composable
@@ -88,7 +88,6 @@
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.Shape
import androidx.compose.ui.platform.LocalDensity
-import androidx.compose.ui.platform.LocalLayoutDirection
import androidx.compose.ui.semantics.CustomAccessibilityAction
import androidx.compose.ui.semantics.LiveRegionMode
import androidx.compose.ui.semantics.Role
@@ -108,7 +107,6 @@
import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.Dp
-import androidx.compose.ui.unit.LayoutDirection
import androidx.compose.ui.unit.dp
import kotlin.math.max
import kotlinx.coroutines.CoroutineScope
@@ -1992,24 +1990,15 @@
// Show arrows for traversing months (only visible when the year selection is off)
if (!yearPickerVisible) {
Row {
- val rtl = LocalLayoutDirection.current == LayoutDirection.Rtl
IconButton(onClick = onPreviousClicked, enabled = previousAvailable) {
Icon(
- if (rtl) {
- Icons.Filled.KeyboardArrowRight
- } else {
- Icons.Filled.KeyboardArrowLeft
- },
+ Icons.AutoMirrored.Filled.KeyboardArrowLeft,
contentDescription = getString(Strings.DatePickerSwitchToPreviousMonth)
)
}
IconButton(onClick = onNextClicked, enabled = nextAvailable) {
Icon(
- if (rtl) {
- Icons.Filled.KeyboardArrowLeft
- } else {
- Icons.Filled.KeyboardArrowRight
- },
+ Icons.AutoMirrored.Filled.KeyboardArrowRight,
contentDescription = getString(Strings.DatePickerSwitchToNextMonth)
)
}
@@ -2093,7 +2082,8 @@
internal val DatePickerModeTogglePadding = PaddingValues(end = 12.dp, bottom = 12.dp)
private val DatePickerTitlePadding = PaddingValues(start = 24.dp, end = 12.dp, top = 16.dp)
-private val DatePickerHeadlinePadding = PaddingValues(start = 24.dp, end = 12.dp, bottom = 12.dp)
+private val DatePickerHeadlinePadding =
+ PaddingValues(start = 24.dp, end = 12.dp, bottom = 12.dp)
private val YearsVerticalPadding = 16.dp
diff --git a/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/AllDemos.kt b/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/AllDemos.kt
index b2fef8e..91ab765 100644
--- a/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/AllDemos.kt
+++ b/constraintlayout/constraintlayout-compose/integration-tests/demos/src/main/java/androidx/constraintlayout/compose/demos/AllDemos.kt
@@ -35,7 +35,7 @@
import androidx.compose.material.MaterialTheme
import androidx.compose.material.Text
import androidx.compose.material.icons.Icons
-import androidx.compose.material.icons.filled.ArrowBack
+import androidx.compose.material.icons.automirrored.filled.ArrowBack
import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableIntStateOf
@@ -108,7 +108,10 @@
.clickable { displayedDemoIndex = -1 },
verticalAlignment = Alignment.CenterVertically
) {
- Icon(imageVector = Icons.Default.ArrowBack, contentDescription = "Back")
+ Icon(
+ imageVector = Icons.AutoMirrored.Default.ArrowBack,
+ contentDescription = "Back"
+ )
Text(text = composeDemo.title)
}
Row(horizontalArrangement = Arrangement.spacedBy(4.dp)) {
diff --git a/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/newmessage/NewMessage.kt b/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/newmessage/NewMessage.kt
index 7b952db..7bb6ec3 100644
--- a/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/newmessage/NewMessage.kt
+++ b/constraintlayout/constraintlayout-compose/integration-tests/macrobenchmark-target/src/main/java/androidx/constraintlayout/compose/integration/macrobenchmark/target/newmessage/NewMessage.kt
@@ -39,11 +39,11 @@
import androidx.compose.material.Text
import androidx.compose.material.TextField
import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.automirrored.filled.Send
import androidx.compose.material.icons.filled.Close
import androidx.compose.material.icons.filled.Delete
import androidx.compose.material.icons.filled.Edit
import androidx.compose.material.icons.filled.KeyboardArrowDown
-import androidx.compose.material.icons.filled.Send
import androidx.compose.runtime.Composable
import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment
@@ -635,7 +635,7 @@
Text(text = "Send")
Spacer(modifier = Modifier.width(8.dp))
Icon(
- imageVector = Icons.Default.Send,
+ imageVector = Icons.AutoMirrored.Default.Send,
contentDescription = "Send Mail",
)
}
@@ -737,7 +737,7 @@
Row(horizontalArrangement = Arrangement.spacedBy(8.dp)) {
CheapText(text = "Send")
Icon(
- imageVector = Icons.Default.Send,
+ imageVector = Icons.AutoMirrored.Default.Send,
contentDescription = "Send Mail",
)
}
diff --git a/gradlew b/gradlew
index 566a02d..66189ab 100755
--- a/gradlew
+++ b/gradlew
@@ -29,7 +29,7 @@
#Set the initial heap size to match the max heap size,
#by replacing a string like "-Xmx1g" with one like "-Xms1g -Xmx1g"
- MAX_MEM=24g
+ MAX_MEM=32g
ORG_GRADLE_JVMARGS="$(echo $ORG_GRADLE_JVMARGS | sed "s/-Xmx\([^ ]*\)/-Xms$MAX_MEM -Xmx$MAX_MEM/")"
# tell Gradle where to put a heap dump on failure
diff --git a/tv/integration-tests/playground/src/main/java/androidx/tv/integration/playground/NavigationDrawer.kt b/tv/integration-tests/playground/src/main/java/androidx/tv/integration/playground/NavigationDrawer.kt
index 1257c1b..22cb95a 100644
--- a/tv/integration-tests/playground/src/main/java/androidx/tv/integration/playground/NavigationDrawer.kt
+++ b/tv/integration-tests/playground/src/main/java/androidx/tv/integration/playground/NavigationDrawer.kt
@@ -136,6 +136,7 @@
horizontalAlignment = Alignment.CenterHorizontally,
verticalArrangement = Arrangement.spacedBy(10.dp)
) {
+ @Suppress("DEPRECATION")
NavigationItem(
imageVector = Icons.Default.KeyboardArrowRight,
text = "LTR",
@@ -143,6 +144,7 @@
selectedIndex = selectedIndex,
index = 0
)
+ @Suppress("DEPRECATION")
NavigationItem(
imageVector = Icons.Default.KeyboardArrowLeft,
text = "RTL",
diff --git a/tv/integration-tests/presentation/src/main/java/androidx/tv/integration/presentation/FeaturedCarousel.kt b/tv/integration-tests/presentation/src/main/java/androidx/tv/integration/presentation/FeaturedCarousel.kt
index 2f07358..44d35f9 100644
--- a/tv/integration-tests/presentation/src/main/java/androidx/tv/integration/presentation/FeaturedCarousel.kt
+++ b/tv/integration-tests/presentation/src/main/java/androidx/tv/integration/presentation/FeaturedCarousel.kt
@@ -83,6 +83,7 @@
LandscapeImageBackground(movie)
},
actions = {
+ @Suppress("DEPRECATION")
AppButton(
text = "Watch on YouTube",
icon = Icons.Outlined.ArrowRight,
diff --git a/tv/tv-material/src/androidTest/java/androidx/tv/material3/DenseListItemScreenshotTest.kt b/tv/tv-material/src/androidTest/java/androidx/tv/material3/DenseListItemScreenshotTest.kt
index cb55ab8..5c64b89 100644
--- a/tv/tv-material/src/androidTest/java/androidx/tv/material3/DenseListItemScreenshotTest.kt
+++ b/tv/tv-material/src/androidTest/java/androidx/tv/material3/DenseListItemScreenshotTest.kt
@@ -371,6 +371,7 @@
)
},
trailingContent = {
+ @Suppress("DEPRECATION")
Icon(
imageVector = Icons.Filled.KeyboardArrowRight,
contentDescription = null,
diff --git a/tv/tv-material/src/androidTest/java/androidx/tv/material3/ListItemScreenshotTest.kt b/tv/tv-material/src/androidTest/java/androidx/tv/material3/ListItemScreenshotTest.kt
index 78de274..7948021 100644
--- a/tv/tv-material/src/androidTest/java/androidx/tv/material3/ListItemScreenshotTest.kt
+++ b/tv/tv-material/src/androidTest/java/androidx/tv/material3/ListItemScreenshotTest.kt
@@ -380,6 +380,7 @@
)
},
trailingContent = {
+ @Suppress("DEPRECATION")
Icon(
imageVector = Icons.Filled.KeyboardArrowRight,
contentDescription = null,
diff --git a/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/PickerDemo.kt b/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/PickerDemo.kt
index 2657606..8a92372 100644
--- a/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/PickerDemo.kt
+++ b/wear/compose/integration-tests/demos/src/main/java/androidx/wear/compose/integration/demos/PickerDemo.kt
@@ -40,8 +40,8 @@
import androidx.compose.foundation.layout.width
import androidx.compose.foundation.layout.wrapContentSize
import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.automirrored.filled.KeyboardArrowRight
import androidx.compose.material.icons.filled.Check
-import androidx.compose.material.icons.filled.KeyboardArrowRight
import androidx.compose.runtime.Composable
import androidx.compose.runtime.DisposableEffect
import androidx.compose.runtime.LaunchedEffect
@@ -751,7 +751,7 @@
) {
Icon(
imageVector = if (pickerGroupState.selectedIndex < 2)
- Icons.Filled.KeyboardArrowRight else Icons.Filled.Check,
+ Icons.AutoMirrored.Filled.KeyboardArrowRight else Icons.Filled.Check,
contentDescription = if (pickerGroupState.selectedIndex < 2)
"next"
else