Update icons and move remaining to Material Symbols (#4057)
* Update Simple Icons to 16.34.0 The brand paths are unchanged; only the version in the headers moves. * Use the current Material Symbols names Several symbols were renamed after the Valkyrie migration. people_alt, new_releases, screen_lock_*, screen_rotation and stay_current_* are only aliases in the font now, for group, verified and the mobile_* symbols. done, push_pin and expand_less/expand_more become check, keep and keyboard_arrow_up/down, which draw the same or an almost identical glyph. * Use filled icons where the Material Symbols migration dropped the fill The migration mapped Filled and Default references to the outline symbols, but the classic glyph was often solid, and Outlined Warning, Error and Pause were solid as well. Each call site was compared against the rendered classic glyph, and the solid ones now use RoundedFilled. view_list needs an auto-mirrored filled pack. The outline SVGs this leaves unused are removed. * Show a compact grid icon for the compact display modes Compact and cover-only grids showed the same view_module icon as the comfortable grid. * Generate notification and layout drawables from Material Symbols Notifications and XML layouts can't use ImageVectors, so they relied on hand-kept copies of classic Material drawables. A build-logic task now converts an opt-in list of the module's SVGs with AGP's Svg2Vector into generated resources. sdk-common is taken from AGP's own dependency metadata, so its version always matches AGP. Compose call sites that only needed a drawable (tab close, crop) use the ImageVectors instead. The icons module's R class must be imported as MaterialSymbolsR, enforced by spotless, so it isn't mistaken for the app's R. * Redraw custom icons in the Material Symbols style The reading mode, crop off, mark previous as read and chapter download icons were drawn in the classic style. They are rebuilt from Material Symbols shapes (mobile_gear, mobile_arrow_right/down, crop, arrow_circle_down, downloading) in a new custom-material-symbols module; each SVG header lists where its parts come from. The default reading mode and incognito use mobile_gear and eyeglasses_2 as they are. ReadingMode holds an ImageVector now, and the module's R class follows the same alias rule as MaterialSymbolsR. * Use Material Symbols for the launcher shortcuts Updates uses release_alert because the symbol named new_releases is now a check badge. * Rename the animated icon drawables anim_*_enter no longer fits now that the icons play in both directions. This is a pure rename so the following commits show only content changes. * Use Material Symbols for the bottom navigation icons The library, updates, history and browse animations are rebuilt from the outline and filled symbols but keep their original motion: the white inside is pushed into the ribbon, the "!" and the needle, and the history ring still spins. Updates uses release_alert, like the shortcut. More already matches more_horiz and is unchanged. * Use rounded bars for the manga description caret The animation is unchanged; the bars get rounded ends to match the Material Symbols stroke. * Settle the browse tab icon when selecting and deselecting The compass turns a full turn and settles with overshoot both ways, instead of deselecting by playing the select animation backwards. A rememberAnimatedVectorPainter overload takes separate enter and exit animations and doesn't animate on the first composition.
@@ -205,6 +205,7 @@ dependencies {
|
||||
baselineProfile(projects.baselineProfile)
|
||||
|
||||
implementation(projects.i18n)
|
||||
implementation(projects.icons.customMaterialSymbols)
|
||||
implementation(projects.icons.materialSymbols)
|
||||
implementation(projects.icons.simpleIcons)
|
||||
implementation(projects.core.archive)
|
||||
|
||||
@@ -34,10 +34,8 @@ import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.draw.clip
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.graphics.vector.ImageVector
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.platform.LocalUriHandler
|
||||
import androidx.compose.ui.res.vectorResource
|
||||
import androidx.compose.ui.text.style.TextAlign
|
||||
import androidx.compose.ui.text.style.TextOverflow
|
||||
import androidx.compose.ui.unit.dp
|
||||
@@ -51,13 +49,13 @@ import eu.kanade.presentation.components.AppBarActions
|
||||
import eu.kanade.presentation.components.WarningBanner
|
||||
import eu.kanade.presentation.more.settings.widget.TextPreferenceWidget
|
||||
import eu.kanade.presentation.more.settings.widget.TrailingWidgetBuffer
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.extension.model.Extension
|
||||
import eu.kanade.tachiyomi.source.ConfigurableSource
|
||||
import eu.kanade.tachiyomi.ui.browse.extension.details.ExtensionDetailsViewModel
|
||||
import eu.kanade.tachiyomi.util.system.LocaleHelper
|
||||
import eu.kanade.tachiyomi.util.system.copyToClipboard
|
||||
import mihon.icons.materialsymbols.MaterialSymbols
|
||||
import mihon.icons.materialsymbols.rounded.Eyeglasses2
|
||||
import mihon.icons.materialsymbols.rounded.Settings
|
||||
import tachiyomi.i18n.MR
|
||||
import tachiyomi.presentation.core.components.ScrollbarLazyColumn
|
||||
@@ -351,7 +349,7 @@ private fun DetailsHeader(
|
||||
modifier = Modifier.padding(horizontal = MaterialTheme.padding.small),
|
||||
title = stringResource(MR.strings.pref_incognito_mode),
|
||||
subtitle = stringResource(MR.strings.pref_incognito_mode_extension_summary),
|
||||
icon = ImageVector.vectorResource(R.drawable.ic_glasses_24dp),
|
||||
icon = MaterialSymbols.Rounded.Eyeglasses2,
|
||||
widget = {
|
||||
Row(
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
|
||||
@@ -64,8 +64,8 @@ import mihon.domain.extension.model.ExtensionStore
|
||||
import mihon.icons.materialsymbols.MaterialSymbols
|
||||
import mihon.icons.materialsymbols.rounded.Close
|
||||
import mihon.icons.materialsymbols.rounded.Download
|
||||
import mihon.icons.materialsymbols.rounded.ExpandMore
|
||||
import mihon.icons.materialsymbols.rounded.Info
|
||||
import mihon.icons.materialsymbols.rounded.KeyboardArrowDown
|
||||
import mihon.icons.materialsymbols.rounded.Refresh
|
||||
import mihon.icons.materialsymbols.rounded.Settings
|
||||
import mihon.icons.materialsymbols.rounded.VerifiedUser
|
||||
@@ -641,7 +641,7 @@ private fun ExtensionSplitButton(
|
||||
contentPadding = SplitButtonDefaults.trailingButtonContentPaddingFor(size),
|
||||
) {
|
||||
Icon(
|
||||
imageVector = MaterialSymbols.Rounded.ExpandMore,
|
||||
imageVector = MaterialSymbols.Rounded.KeyboardArrowDown,
|
||||
contentDescription = stringResource(MR.strings.action_menu),
|
||||
modifier = Modifier.size(SplitButtonDefaults.trailingButtonIconSizeFor(size)),
|
||||
)
|
||||
|
||||
@@ -22,8 +22,8 @@ import eu.kanade.tachiyomi.ui.browse.source.SourcesViewModel
|
||||
import eu.kanade.tachiyomi.ui.browse.source.browse.BrowseSourceViewModel.Listing
|
||||
import eu.kanade.tachiyomi.util.system.LocaleHelper
|
||||
import mihon.icons.materialsymbols.MaterialSymbols
|
||||
import mihon.icons.materialsymbols.rounded.PushPin
|
||||
import mihon.icons.materialsymbols.roundedfilled.PushPin
|
||||
import mihon.icons.materialsymbols.rounded.Keep
|
||||
import mihon.icons.materialsymbols.roundedfilled.Keep
|
||||
import tachiyomi.domain.source.model.Pin
|
||||
import tachiyomi.domain.source.model.Source
|
||||
import tachiyomi.i18n.MR
|
||||
@@ -143,7 +143,7 @@ private fun SourcePinButton(
|
||||
isPinned: Boolean,
|
||||
onClick: () -> Unit,
|
||||
) {
|
||||
val icon = if (isPinned) MaterialSymbols.RoundedFilled.PushPin else MaterialSymbols.Rounded.PushPin
|
||||
val icon = if (isPinned) MaterialSymbols.RoundedFilled.Keep else MaterialSymbols.Rounded.Keep
|
||||
val tint = if (isPinned) {
|
||||
MaterialTheme.colorScheme.primary
|
||||
} else {
|
||||
|
||||
@@ -29,8 +29,8 @@ import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.extension.model.Extension
|
||||
import eu.kanade.tachiyomi.extension.util.ExtensionLoader
|
||||
import mihon.icons.materialsymbols.MaterialSymbols
|
||||
import mihon.icons.materialsymbols.rounded.Dangerous
|
||||
import mihon.icons.materialsymbols.rounded.Warning
|
||||
import mihon.icons.materialsymbols.roundedfilled.Dangerous
|
||||
import mihon.icons.materialsymbols.roundedfilled.Warning
|
||||
import tachiyomi.core.common.util.lang.withIOContext
|
||||
import tachiyomi.domain.source.model.Source
|
||||
import tachiyomi.source.local.isLocal
|
||||
@@ -49,7 +49,7 @@ fun SourceIcon(
|
||||
when {
|
||||
source.isStub && icon == null -> {
|
||||
Image(
|
||||
imageVector = MaterialSymbols.Rounded.Warning,
|
||||
imageVector = MaterialSymbols.RoundedFilled.Warning,
|
||||
contentDescription = null,
|
||||
colorFilter = ColorFilter.tint(MaterialTheme.colorScheme.error),
|
||||
modifier = modifier.then(defaultModifier),
|
||||
@@ -113,7 +113,7 @@ fun ExtensionIcon(
|
||||
}
|
||||
}
|
||||
is Extension.NotLoaded -> Image(
|
||||
imageVector = MaterialSymbols.Rounded.Dangerous,
|
||||
imageVector = MaterialSymbols.RoundedFilled.Dangerous,
|
||||
contentDescription = null,
|
||||
colorFilter = ColorFilter.tint(MaterialTheme.colorScheme.error),
|
||||
modifier = modifier.then(defaultModifier),
|
||||
|
||||
@@ -16,8 +16,9 @@ import eu.kanade.presentation.components.SearchToolbar
|
||||
import eu.kanade.tachiyomi.source.ConfigurableSource
|
||||
import eu.kanade.tachiyomi.source.Source
|
||||
import mihon.icons.materialsymbols.MaterialSymbols
|
||||
import mihon.icons.materialsymbols.automirroredrounded.ViewList
|
||||
import mihon.icons.materialsymbols.rounded.ViewModule
|
||||
import mihon.icons.materialsymbols.automirroredroundedfilled.ViewList
|
||||
import mihon.icons.materialsymbols.roundedfilled.ViewCompact
|
||||
import mihon.icons.materialsymbols.roundedfilled.ViewModule
|
||||
import tachiyomi.domain.library.model.LibraryDisplayMode
|
||||
import tachiyomi.i18n.MR
|
||||
import tachiyomi.presentation.core.i18n.stringResource
|
||||
@@ -57,10 +58,12 @@ fun BrowseSourceToolbar(
|
||||
add(
|
||||
AppBar.Action(
|
||||
title = stringResource(MR.strings.action_display_mode),
|
||||
icon = if (displayMode == LibraryDisplayMode.List) {
|
||||
MaterialSymbols.AutoMirroredRounded.ViewList
|
||||
} else {
|
||||
MaterialSymbols.Rounded.ViewModule
|
||||
icon = when (displayMode) {
|
||||
LibraryDisplayMode.List -> MaterialSymbols.AutoMirroredRoundedFilled.ViewList
|
||||
LibraryDisplayMode.ComfortableGrid -> MaterialSymbols.RoundedFilled.ViewModule
|
||||
LibraryDisplayMode.CompactGrid,
|
||||
LibraryDisplayMode.CoverOnlyGrid,
|
||||
-> MaterialSymbols.RoundedFilled.ViewCompact
|
||||
},
|
||||
onClick = { selectingDisplayMode = true },
|
||||
),
|
||||
|
||||
@@ -22,7 +22,7 @@ import androidx.compose.ui.text.style.TextAlign
|
||||
import androidx.compose.ui.unit.dp
|
||||
import mihon.icons.materialsymbols.MaterialSymbols
|
||||
import mihon.icons.materialsymbols.automirroredrounded.ArrowForward
|
||||
import mihon.icons.materialsymbols.rounded.Error
|
||||
import mihon.icons.materialsymbols.roundedfilled.Error
|
||||
import tachiyomi.i18n.MR
|
||||
import tachiyomi.presentation.core.components.material.padding
|
||||
import tachiyomi.presentation.core.i18n.stringResource
|
||||
@@ -90,7 +90,7 @@ fun GlobalSearchErrorResultItem(message: String?) {
|
||||
horizontalAlignment = Alignment.CenterHorizontally,
|
||||
verticalArrangement = Arrangement.Center,
|
||||
) {
|
||||
Icon(imageVector = MaterialSymbols.Rounded.Error, contentDescription = null)
|
||||
Icon(imageVector = MaterialSymbols.RoundedFilled.Error, contentDescription = null)
|
||||
Spacer(Modifier.height(4.dp))
|
||||
Text(
|
||||
text = message ?: stringResource(MR.strings.unknown_error),
|
||||
|
||||
@@ -28,7 +28,7 @@ import eu.kanade.tachiyomi.ui.browse.source.globalsearch.SourceFilter
|
||||
import mihon.icons.materialsymbols.MaterialSymbols
|
||||
import mihon.icons.materialsymbols.rounded.DoneAll
|
||||
import mihon.icons.materialsymbols.rounded.FilterList
|
||||
import mihon.icons.materialsymbols.rounded.PushPin
|
||||
import mihon.icons.materialsymbols.rounded.Keep
|
||||
import tachiyomi.i18n.MR
|
||||
import tachiyomi.presentation.core.components.material.padding
|
||||
import tachiyomi.presentation.core.i18n.stringResource
|
||||
@@ -82,7 +82,7 @@ fun GlobalSearchToolbar(
|
||||
onClick = { onChangeSearchFilter(SourceFilter.PinnedOnly) },
|
||||
leadingIcon = {
|
||||
Icon(
|
||||
imageVector = MaterialSymbols.Rounded.PushPin,
|
||||
imageVector = MaterialSymbols.Rounded.Keep,
|
||||
contentDescription = null,
|
||||
modifier = Modifier
|
||||
.size(FilterChipDefaults.IconSize),
|
||||
|
||||
@@ -31,7 +31,7 @@ import eu.kanade.presentation.components.TabbedDialog
|
||||
import eu.kanade.presentation.components.TabbedDialogPaddings
|
||||
import mihon.app.di.appGraph
|
||||
import mihon.icons.materialsymbols.MaterialSymbols
|
||||
import mihon.icons.materialsymbols.rounded.PeopleAlt
|
||||
import mihon.icons.materialsymbols.rounded.Group
|
||||
import tachiyomi.core.common.preference.TriState
|
||||
import tachiyomi.domain.manga.model.Manga
|
||||
import tachiyomi.i18n.MR
|
||||
@@ -174,7 +174,7 @@ fun ScanlatorFilterItem(
|
||||
horizontalArrangement = Arrangement.spacedBy(24.dp),
|
||||
) {
|
||||
Icon(
|
||||
imageVector = MaterialSymbols.Rounded.PeopleAlt,
|
||||
imageVector = MaterialSymbols.Rounded.Group,
|
||||
contentDescription = null,
|
||||
tint = if (active) {
|
||||
MaterialTheme.colorScheme.active
|
||||
|
||||
@@ -58,14 +58,14 @@ import mihon.icons.materialsymbols.MaterialSymbols
|
||||
import mihon.icons.materialsymbols.rounded.Add
|
||||
import mihon.icons.materialsymbols.rounded.AttachMoney
|
||||
import mihon.icons.materialsymbols.rounded.Block
|
||||
import mihon.icons.materialsymbols.rounded.Brush
|
||||
import mihon.icons.materialsymbols.rounded.Check
|
||||
import mihon.icons.materialsymbols.rounded.Close
|
||||
import mihon.icons.materialsymbols.rounded.Done
|
||||
import mihon.icons.materialsymbols.rounded.DoneAll
|
||||
import mihon.icons.materialsymbols.rounded.Pause
|
||||
import mihon.icons.materialsymbols.rounded.Person
|
||||
import mihon.icons.materialsymbols.rounded.Schedule
|
||||
import mihon.icons.materialsymbols.rounded.Warning
|
||||
import mihon.icons.materialsymbols.roundedfilled.Brush
|
||||
import mihon.icons.materialsymbols.roundedfilled.Pause
|
||||
import mihon.icons.materialsymbols.roundedfilled.Warning
|
||||
import tachiyomi.domain.manga.model.Manga
|
||||
import tachiyomi.domain.manga.model.MangaWithChapterCount
|
||||
import tachiyomi.domain.source.model.StubSource
|
||||
@@ -238,7 +238,7 @@ private fun DuplicateMangaListItem(
|
||||
if (!manga.artist.isNullOrBlank() && manga.author != manga.artist) {
|
||||
MangaDetailRow(
|
||||
text = manga.artist!!,
|
||||
iconImageVector = MaterialSymbols.Rounded.Brush,
|
||||
iconImageVector = MaterialSymbols.RoundedFilled.Brush,
|
||||
maxLines = 2,
|
||||
)
|
||||
}
|
||||
@@ -257,9 +257,9 @@ private fun DuplicateMangaListItem(
|
||||
SManga.ONGOING.toLong() -> MaterialSymbols.Rounded.Schedule
|
||||
SManga.COMPLETED.toLong() -> MaterialSymbols.Rounded.DoneAll
|
||||
SManga.LICENSED.toLong() -> MaterialSymbols.Rounded.AttachMoney
|
||||
SManga.PUBLISHING_FINISHED.toLong() -> MaterialSymbols.Rounded.Done
|
||||
SManga.PUBLISHING_FINISHED.toLong() -> MaterialSymbols.Rounded.Check
|
||||
SManga.CANCELLED.toLong() -> MaterialSymbols.Rounded.Close
|
||||
SManga.ON_HIATUS.toLong() -> MaterialSymbols.Rounded.Pause
|
||||
SManga.ON_HIATUS.toLong() -> MaterialSymbols.RoundedFilled.Pause
|
||||
else -> MaterialSymbols.Rounded.Block
|
||||
},
|
||||
)
|
||||
@@ -272,7 +272,7 @@ private fun DuplicateMangaListItem(
|
||||
) {
|
||||
if (source is StubSource) {
|
||||
Icon(
|
||||
imageVector = MaterialSymbols.Rounded.Warning,
|
||||
imageVector = MaterialSymbols.RoundedFilled.Warning,
|
||||
contentDescription = null,
|
||||
modifier = Modifier.size(16.dp),
|
||||
tint = MaterialTheme.colorScheme.error,
|
||||
|
||||
@@ -24,14 +24,14 @@ import androidx.compose.ui.graphics.StrokeCap
|
||||
import androidx.compose.ui.hapticfeedback.HapticFeedback
|
||||
import androidx.compose.ui.hapticfeedback.HapticFeedbackType
|
||||
import androidx.compose.ui.platform.LocalHapticFeedback
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.semantics.Role
|
||||
import androidx.compose.ui.unit.dp
|
||||
import eu.kanade.presentation.components.DropdownMenu
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.data.download.model.Download
|
||||
import mihon.icons.custommaterialsymbols.CustomMaterialSymbols
|
||||
import mihon.icons.custommaterialsymbols.rounded.DownloadArrow
|
||||
import mihon.icons.custommaterialsymbols.rounded.DownloadCircle
|
||||
import mihon.icons.materialsymbols.MaterialSymbols
|
||||
import mihon.icons.materialsymbols.rounded.ArrowDownward
|
||||
import mihon.icons.materialsymbols.rounded.Error
|
||||
import mihon.icons.materialsymbols.roundedfilled.CheckCircle
|
||||
import tachiyomi.i18n.MR
|
||||
@@ -99,7 +99,7 @@ private fun NotDownloadedIndicator(
|
||||
contentAlignment = Alignment.Center,
|
||||
) {
|
||||
Icon(
|
||||
painter = painterResource(R.drawable.ic_download_chapter_24dp),
|
||||
imageVector = CustomMaterialSymbols.Rounded.DownloadCircle,
|
||||
contentDescription = stringResource(MR.strings.manga_download),
|
||||
modifier = Modifier.size(IndicatorSize),
|
||||
tint = MaterialTheme.colorScheme.onSurfaceVariant,
|
||||
@@ -179,7 +179,7 @@ private fun DownloadingIndicator(
|
||||
)
|
||||
}
|
||||
Icon(
|
||||
imageVector = MaterialSymbols.Rounded.ArrowDownward,
|
||||
imageVector = CustomMaterialSymbols.Rounded.DownloadArrow,
|
||||
contentDescription = null,
|
||||
modifier = ArrowModifier,
|
||||
tint = arrowColor,
|
||||
@@ -279,4 +279,4 @@ private val IndicatorModifier = Modifier
|
||||
.size(IndicatorSize)
|
||||
.padding(IndicatorPadding)
|
||||
private val ArrowModifier = Modifier
|
||||
.size(IndicatorSize - 7.dp)
|
||||
.size(IndicatorSize)
|
||||
|
||||
@@ -40,18 +40,18 @@ import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.vector.ImageVector
|
||||
import androidx.compose.ui.hapticfeedback.HapticFeedbackType
|
||||
import androidx.compose.ui.platform.LocalHapticFeedback
|
||||
import androidx.compose.ui.res.vectorResource
|
||||
import androidx.compose.ui.text.style.TextOverflow
|
||||
import androidx.compose.ui.unit.DpOffset
|
||||
import androidx.compose.ui.unit.dp
|
||||
import eu.kanade.presentation.components.DownloadDropdownMenu
|
||||
import eu.kanade.presentation.components.DropdownMenu
|
||||
import eu.kanade.presentation.manga.DownloadAction
|
||||
import eu.kanade.tachiyomi.R
|
||||
import kotlinx.coroutines.Job
|
||||
import kotlinx.coroutines.delay
|
||||
import kotlinx.coroutines.isActive
|
||||
import kotlinx.coroutines.launch
|
||||
import mihon.icons.custommaterialsymbols.CustomMaterialSymbols
|
||||
import mihon.icons.custommaterialsymbols.rounded.DonePrevious
|
||||
import mihon.icons.materialsymbols.MaterialSymbols
|
||||
import mihon.icons.materialsymbols.automirroredrounded.Label
|
||||
import mihon.icons.materialsymbols.rounded.BookmarkAdd
|
||||
@@ -149,7 +149,7 @@ fun MangaBottomActionMenu(
|
||||
if (onMarkPreviousAsReadClicked != null) {
|
||||
Button(
|
||||
title = stringResource(MR.strings.action_mark_previous_as_read),
|
||||
icon = ImageVector.vectorResource(R.drawable.ic_done_prev_24dp),
|
||||
icon = CustomMaterialSymbols.Rounded.DonePrevious,
|
||||
toConfirm = confirm[4],
|
||||
onLongClick = { onLongClickItem(4) },
|
||||
onClick = onMarkPreviousAsReadClicked,
|
||||
|
||||
@@ -31,8 +31,8 @@ import me.saket.swipe.SwipeableActionsBox
|
||||
import mihon.icons.materialsymbols.MaterialSymbols
|
||||
import mihon.icons.materialsymbols.rounded.BookmarkAdd
|
||||
import mihon.icons.materialsymbols.rounded.BookmarkRemove
|
||||
import mihon.icons.materialsymbols.rounded.Check
|
||||
import mihon.icons.materialsymbols.rounded.Delete
|
||||
import mihon.icons.materialsymbols.rounded.Done
|
||||
import mihon.icons.materialsymbols.rounded.Download
|
||||
import mihon.icons.materialsymbols.rounded.FileDownloadOff
|
||||
import mihon.icons.materialsymbols.rounded.RemoveDone
|
||||
@@ -192,7 +192,7 @@ private fun getSwipeAction(
|
||||
): me.saket.swipe.SwipeAction? {
|
||||
return when (action) {
|
||||
LibraryPreferences.ChapterSwipeAction.ToggleRead -> swipeAction(
|
||||
icon = if (!read) MaterialSymbols.Rounded.Done else MaterialSymbols.Rounded.RemoveDone,
|
||||
icon = if (!read) MaterialSymbols.Rounded.Check else MaterialSymbols.Rounded.RemoveDone,
|
||||
background = background,
|
||||
isUndo = read,
|
||||
onSwipe = onSwipe,
|
||||
|
||||
@@ -82,19 +82,19 @@ import mihon.app.di.appGraph
|
||||
import mihon.icons.materialsymbols.MaterialSymbols
|
||||
import mihon.icons.materialsymbols.rounded.AttachMoney
|
||||
import mihon.icons.materialsymbols.rounded.Block
|
||||
import mihon.icons.materialsymbols.rounded.Brush
|
||||
import mihon.icons.materialsymbols.rounded.Check
|
||||
import mihon.icons.materialsymbols.rounded.Close
|
||||
import mihon.icons.materialsymbols.rounded.Done
|
||||
import mihon.icons.materialsymbols.rounded.DoneAll
|
||||
import mihon.icons.materialsymbols.rounded.Favorite
|
||||
import mihon.icons.materialsymbols.rounded.HourglassEmpty
|
||||
import mihon.icons.materialsymbols.rounded.Pause
|
||||
import mihon.icons.materialsymbols.rounded.Person
|
||||
import mihon.icons.materialsymbols.rounded.Public
|
||||
import mihon.icons.materialsymbols.rounded.Schedule
|
||||
import mihon.icons.materialsymbols.rounded.Sync
|
||||
import mihon.icons.materialsymbols.rounded.Warning
|
||||
import mihon.icons.materialsymbols.roundedfilled.Brush
|
||||
import mihon.icons.materialsymbols.roundedfilled.Favorite
|
||||
import mihon.icons.materialsymbols.roundedfilled.Pause
|
||||
import mihon.icons.materialsymbols.roundedfilled.Warning
|
||||
import org.intellij.markdown.MarkdownElementTypes
|
||||
import org.intellij.markdown.MarkdownTokenTypes
|
||||
import org.intellij.markdown.ast.findChildOfType
|
||||
@@ -230,7 +230,7 @@ fun MangaActionRow(
|
||||
} else {
|
||||
pluralStringResource(MR.plurals.num_trackers, count = trackingCount, trackingCount)
|
||||
},
|
||||
icon = if (trackingCount == 0) MaterialSymbols.Rounded.Sync else MaterialSymbols.Rounded.Done,
|
||||
icon = if (trackingCount == 0) MaterialSymbols.Rounded.Sync else MaterialSymbols.Rounded.Check,
|
||||
color = if (trackingCount == 0) defaultActionButtonColor else MaterialTheme.colorScheme.primary,
|
||||
onClick = onTrackingClicked,
|
||||
)
|
||||
@@ -491,7 +491,7 @@ private fun ColumnScope.MangaContentInfo(
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
) {
|
||||
Icon(
|
||||
imageVector = MaterialSymbols.Rounded.Brush,
|
||||
imageVector = MaterialSymbols.RoundedFilled.Brush,
|
||||
contentDescription = null,
|
||||
modifier = Modifier.size(16.dp),
|
||||
)
|
||||
@@ -519,9 +519,9 @@ private fun ColumnScope.MangaContentInfo(
|
||||
SManga.ONGOING.toLong() -> MaterialSymbols.Rounded.Schedule
|
||||
SManga.COMPLETED.toLong() -> MaterialSymbols.Rounded.DoneAll
|
||||
SManga.LICENSED.toLong() -> MaterialSymbols.Rounded.AttachMoney
|
||||
SManga.PUBLISHING_FINISHED.toLong() -> MaterialSymbols.Rounded.Done
|
||||
SManga.PUBLISHING_FINISHED.toLong() -> MaterialSymbols.Rounded.Check
|
||||
SManga.CANCELLED.toLong() -> MaterialSymbols.Rounded.Close
|
||||
SManga.ON_HIATUS.toLong() -> MaterialSymbols.Rounded.Pause
|
||||
SManga.ON_HIATUS.toLong() -> MaterialSymbols.RoundedFilled.Pause
|
||||
else -> MaterialSymbols.Rounded.Block
|
||||
},
|
||||
contentDescription = null,
|
||||
@@ -546,7 +546,7 @@ private fun ColumnScope.MangaContentInfo(
|
||||
DotSeparatorText()
|
||||
if (isStubSource) {
|
||||
Icon(
|
||||
imageVector = MaterialSymbols.Rounded.Warning,
|
||||
imageVector = MaterialSymbols.RoundedFilled.Warning,
|
||||
contentDescription = null,
|
||||
modifier = Modifier
|
||||
.padding(end = 4.dp)
|
||||
@@ -667,7 +667,7 @@ private fun MangaSummary(
|
||||
modifier = Modifier.background(Brush.verticalGradient(colors = colors)),
|
||||
contentAlignment = Alignment.Center,
|
||||
) {
|
||||
val image = AnimatedImageVector.animatedVectorResource(R.drawable.anim_caret_down)
|
||||
val image = AnimatedImageVector.animatedVectorResource(R.drawable.animated_caret_flip)
|
||||
Icon(
|
||||
painter = rememberAnimatedVectorPainter(image, !expanded),
|
||||
contentDescription = stringResource(
|
||||
|
||||
@@ -3,24 +3,22 @@ package eu.kanade.presentation.more
|
||||
import androidx.compose.foundation.layout.PaddingValues
|
||||
import androidx.compose.material3.HorizontalDivider
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.graphics.vector.ImageVector
|
||||
import androidx.compose.ui.platform.LocalUriHandler
|
||||
import androidx.compose.ui.res.vectorResource
|
||||
import androidx.compose.ui.unit.dp
|
||||
import eu.kanade.presentation.more.settings.widget.SwitchPreferenceWidget
|
||||
import eu.kanade.presentation.more.settings.widget.TextPreferenceWidget
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.ui.more.DownloadQueueState
|
||||
import mihon.icons.materialsymbols.MaterialSymbols
|
||||
import mihon.icons.materialsymbols.automirroredrounded.Help
|
||||
import mihon.icons.materialsymbols.automirroredrounded.Label
|
||||
import mihon.icons.materialsymbols.rounded.CloudOff
|
||||
import mihon.icons.materialsymbols.rounded.Download
|
||||
import mihon.icons.materialsymbols.rounded.Eyeglasses2
|
||||
import mihon.icons.materialsymbols.rounded.Info
|
||||
import mihon.icons.materialsymbols.rounded.QueryStats
|
||||
import mihon.icons.materialsymbols.rounded.Settings
|
||||
import mihon.icons.materialsymbols.rounded.Storage
|
||||
import mihon.icons.materialsymbols.rounded.VolunteerActivism
|
||||
import mihon.icons.materialsymbols.roundedfilled.VolunteerActivism
|
||||
import tachiyomi.core.common.Constants
|
||||
import tachiyomi.i18n.MR
|
||||
import tachiyomi.presentation.core.components.ScrollbarLazyColumn
|
||||
@@ -65,7 +63,7 @@ fun MoreScreen(
|
||||
SwitchPreferenceWidget(
|
||||
title = stringResource(MR.strings.pref_incognito_mode),
|
||||
subtitle = stringResource(MR.strings.pref_incognito_mode_summary),
|
||||
icon = ImageVector.vectorResource(R.drawable.ic_glasses_24dp),
|
||||
icon = MaterialSymbols.Rounded.Eyeglasses2,
|
||||
checked = incognitoMode,
|
||||
onCheckedChanged = onIncognitoModeChange,
|
||||
)
|
||||
@@ -136,7 +134,7 @@ fun MoreScreen(
|
||||
item {
|
||||
TextPreferenceWidget(
|
||||
title = stringResource(MR.strings.label_support_us),
|
||||
icon = MaterialSymbols.Rounded.VolunteerActivism,
|
||||
icon = MaterialSymbols.RoundedFilled.VolunteerActivism,
|
||||
onPreferenceClick = onClickSupport,
|
||||
)
|
||||
}
|
||||
|
||||
@@ -18,7 +18,7 @@ import eu.kanade.presentation.theme.TachiyomiPreviewTheme
|
||||
import eu.kanade.tachiyomi.ui.more.NewUpdateScreenModel
|
||||
import mihon.icons.materialsymbols.MaterialSymbols
|
||||
import mihon.icons.materialsymbols.automirroredrounded.OpenInNew
|
||||
import mihon.icons.materialsymbols.rounded.NewReleases
|
||||
import mihon.icons.materialsymbols.rounded.Verified
|
||||
import org.intellij.markdown.flavours.gfm.GFMFlavourDescriptor
|
||||
import tachiyomi.i18n.MR
|
||||
import tachiyomi.presentation.core.components.material.padding
|
||||
@@ -36,7 +36,7 @@ fun NewUpdateScreen(
|
||||
onRejectUpdate: () -> Unit,
|
||||
) {
|
||||
InfoScreen(
|
||||
icon = MaterialSymbols.Rounded.NewReleases,
|
||||
icon = MaterialSymbols.Rounded.Verified,
|
||||
headingText = stringResource(MR.strings.update_check_notification_update_available),
|
||||
subtitleText = versionName,
|
||||
acceptText = when (stage) {
|
||||
|
||||
@@ -56,8 +56,8 @@ import mihon.app.di.appGraph
|
||||
import mihon.icons.materialsymbols.MaterialSymbols
|
||||
import mihon.icons.materialsymbols.automirroredrounded.Help
|
||||
import mihon.icons.materialsymbols.rounded.Close
|
||||
import mihon.icons.materialsymbols.rounded.Visibility
|
||||
import mihon.icons.materialsymbols.rounded.VisibilityOff
|
||||
import mihon.icons.materialsymbols.roundedfilled.Visibility
|
||||
import mihon.icons.materialsymbols.roundedfilled.VisibilityOff
|
||||
import tachiyomi.core.common.util.lang.launchIO
|
||||
import tachiyomi.core.common.util.lang.withUIContext
|
||||
import tachiyomi.i18n.MR
|
||||
@@ -250,9 +250,9 @@ object SettingsTrackingScreen : SearchableSettings {
|
||||
IconButton(onClick = { hidePassword = !hidePassword }) {
|
||||
Icon(
|
||||
imageVector = if (hidePassword) {
|
||||
MaterialSymbols.Rounded.Visibility
|
||||
MaterialSymbols.RoundedFilled.Visibility
|
||||
} else {
|
||||
MaterialSymbols.Rounded.VisibilityOff
|
||||
MaterialSymbols.RoundedFilled.VisibilityOff
|
||||
},
|
||||
contentDescription = null,
|
||||
)
|
||||
|
||||
@@ -20,8 +20,8 @@ import androidx.compose.ui.text.input.TextFieldValue
|
||||
import androidx.compose.ui.window.DialogProperties
|
||||
import kotlinx.coroutines.launch
|
||||
import mihon.icons.materialsymbols.MaterialSymbols
|
||||
import mihon.icons.materialsymbols.rounded.Cancel
|
||||
import mihon.icons.materialsymbols.rounded.Error
|
||||
import mihon.icons.materialsymbols.roundedfilled.Cancel
|
||||
import mihon.icons.materialsymbols.roundedfilled.Error
|
||||
import tachiyomi.i18n.MR
|
||||
import tachiyomi.presentation.core.i18n.stringResource
|
||||
|
||||
@@ -57,10 +57,10 @@ fun EditTextPreferenceWidget(
|
||||
onValueChange = { textFieldValue = it },
|
||||
trailingIcon = {
|
||||
if (textFieldValue.text.isBlank()) {
|
||||
Icon(imageVector = MaterialSymbols.Rounded.Error, contentDescription = null)
|
||||
Icon(imageVector = MaterialSymbols.RoundedFilled.Error, contentDescription = null)
|
||||
} else {
|
||||
IconButton(onClick = { textFieldValue = TextFieldValue("") }) {
|
||||
Icon(imageVector = MaterialSymbols.Rounded.Cancel, contentDescription = null)
|
||||
Icon(imageVector = MaterialSymbols.RoundedFilled.Cancel, contentDescription = null)
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
@@ -27,7 +27,7 @@ import eu.kanade.tachiyomi.data.track.Tracker
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
import mihon.icons.materialsymbols.MaterialSymbols
|
||||
import mihon.icons.materialsymbols.rounded.Done
|
||||
import mihon.icons.materialsymbols.rounded.Check
|
||||
import mihon.icons.materialsymbols.rounded.Refresh
|
||||
import tachiyomi.i18n.MR
|
||||
import tachiyomi.presentation.core.i18n.stringResource
|
||||
@@ -107,7 +107,7 @@ fun TrackingPreferenceWidget(
|
||||
}
|
||||
}
|
||||
Icon(
|
||||
imageVector = MaterialSymbols.Rounded.Done,
|
||||
imageVector = MaterialSymbols.Rounded.Check,
|
||||
modifier = Modifier
|
||||
.padding(4.dp)
|
||||
.size(32.dp),
|
||||
|
||||
@@ -35,8 +35,8 @@ import eu.kanade.tachiyomi.ui.reader.model.ChapterTransition
|
||||
import eu.kanade.tachiyomi.ui.reader.model.ReaderChapter
|
||||
import mihon.icons.materialsymbols.MaterialSymbols
|
||||
import mihon.icons.materialsymbols.rounded.Info
|
||||
import mihon.icons.materialsymbols.rounded.Warning
|
||||
import mihon.icons.materialsymbols.roundedfilled.CheckCircle
|
||||
import mihon.icons.materialsymbols.roundedfilled.Warning
|
||||
import tachiyomi.domain.chapter.model.Chapter
|
||||
import tachiyomi.domain.chapter.service.calculateChapterGap
|
||||
import tachiyomi.i18n.MR
|
||||
@@ -184,7 +184,7 @@ private fun ChapterGapWarning(
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
) {
|
||||
Icon(
|
||||
imageVector = MaterialSymbols.Rounded.Warning,
|
||||
imageVector = MaterialSymbols.RoundedFilled.Warning,
|
||||
tint = MaterialTheme.colorScheme.error,
|
||||
contentDescription = null,
|
||||
)
|
||||
|
||||
@@ -11,8 +11,6 @@ import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.vector.ImageVector
|
||||
import androidx.compose.ui.res.vectorResource
|
||||
import androidx.compose.ui.tooling.preview.PreviewLightDark
|
||||
import dev.icerock.moko.resources.StringResource
|
||||
import eu.kanade.domain.manga.model.readingMode
|
||||
@@ -68,7 +66,7 @@ private fun DialogContent(
|
||||
selected = mode
|
||||
},
|
||||
modifier = Modifier.fillMaxWidth(),
|
||||
imageVector = ImageVector.vectorResource(mode.iconRes),
|
||||
imageVector = mode.icon,
|
||||
title = stringResource(mode.stringRes),
|
||||
)
|
||||
}
|
||||
|
||||
@@ -8,11 +8,12 @@ import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.input.pointer.pointerInput
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.ui.reader.setting.ReaderOrientation
|
||||
import eu.kanade.tachiyomi.ui.reader.setting.ReadingMode
|
||||
import mihon.icons.custommaterialsymbols.CustomMaterialSymbols
|
||||
import mihon.icons.custommaterialsymbols.rounded.CropOff
|
||||
import mihon.icons.materialsymbols.MaterialSymbols
|
||||
import mihon.icons.materialsymbols.rounded.Crop
|
||||
import mihon.icons.materialsymbols.rounded.Settings
|
||||
import tachiyomi.i18n.MR
|
||||
import tachiyomi.presentation.core.i18n.stringResource
|
||||
@@ -36,7 +37,7 @@ fun ReaderBottomBar(
|
||||
) {
|
||||
IconButton(onClick = onClickReadingMode) {
|
||||
Icon(
|
||||
painter = painterResource(readingMode.iconRes),
|
||||
imageVector = readingMode.icon,
|
||||
contentDescription = stringResource(MR.strings.viewer),
|
||||
)
|
||||
}
|
||||
@@ -50,7 +51,7 @@ fun ReaderBottomBar(
|
||||
|
||||
IconButton(onClick = onClickCropBorder) {
|
||||
Icon(
|
||||
painter = painterResource(if (cropEnabled) R.drawable.ic_crop_24dp else R.drawable.ic_crop_off_24dp),
|
||||
imageVector = if (cropEnabled) MaterialSymbols.Rounded.Crop else CustomMaterialSymbols.Rounded.CropOff,
|
||||
contentDescription = stringResource(MR.strings.pref_crop_borders),
|
||||
)
|
||||
}
|
||||
|
||||
@@ -59,7 +59,7 @@ import eu.kanade.tachiyomi.util.system.copyToClipboard
|
||||
import kotlinx.datetime.toJavaLocalDate
|
||||
import mihon.icons.materialsymbols.MaterialSymbols
|
||||
import mihon.icons.materialsymbols.rounded.MoreVert
|
||||
import mihon.icons.materialsymbols.rounded.VisibilityOff
|
||||
import mihon.icons.materialsymbols.roundedfilled.VisibilityOff
|
||||
import tachiyomi.i18n.MR
|
||||
import tachiyomi.presentation.core.i18n.stringResource
|
||||
import java.time.format.DateTimeFormatter
|
||||
@@ -175,7 +175,7 @@ private fun TrackInfoItem(
|
||||
modifier = Modifier.absoluteOffset(x = (-5).dp),
|
||||
) {
|
||||
Icon(
|
||||
imageVector = MaterialSymbols.Rounded.VisibilityOff,
|
||||
imageVector = MaterialSymbols.RoundedFilled.VisibilityOff,
|
||||
contentDescription = stringResource(MR.strings.tracked_privately),
|
||||
modifier = Modifier.size(14.dp),
|
||||
)
|
||||
|
||||
@@ -74,8 +74,8 @@ import kotlinx.coroutines.launch
|
||||
import mihon.icons.materialsymbols.MaterialSymbols
|
||||
import mihon.icons.materialsymbols.automirroredrounded.ArrowBack
|
||||
import mihon.icons.materialsymbols.rounded.Close
|
||||
import mihon.icons.materialsymbols.rounded.VisibilityOff
|
||||
import mihon.icons.materialsymbols.roundedfilled.CheckCircle
|
||||
import mihon.icons.materialsymbols.roundedfilled.VisibilityOff
|
||||
import tachiyomi.i18n.MR
|
||||
import tachiyomi.presentation.core.components.ScrollbarLazyColumn
|
||||
import tachiyomi.presentation.core.components.material.Scaffold
|
||||
@@ -189,7 +189,7 @@ fun TrackerSearch(
|
||||
elevation = ButtonDefaults.elevatedButtonElevation(),
|
||||
) {
|
||||
Icon(
|
||||
imageVector = MaterialSymbols.Rounded.VisibilityOff,
|
||||
imageVector = MaterialSymbols.RoundedFilled.VisibilityOff,
|
||||
contentDescription = stringResource(MR.strings.action_toggle_private_on),
|
||||
)
|
||||
}
|
||||
|
||||
@@ -0,0 +1,33 @@
|
||||
package eu.kanade.presentation.util
|
||||
|
||||
import androidx.compose.animation.graphics.res.rememberAnimatedVectorPainter
|
||||
import androidx.compose.animation.graphics.vector.AnimatedImageVector
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.runtime.LaunchedEffect
|
||||
import androidx.compose.runtime.SideEffect
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.key
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.ui.graphics.painter.Painter
|
||||
|
||||
/**
|
||||
* Plays [enter] forwards when [atEnd] becomes true and [exit] forwards when it becomes false,
|
||||
* instead of reversing a single animation. Nothing animates on the first composition.
|
||||
*/
|
||||
@Composable
|
||||
fun rememberAnimatedVectorPainter(
|
||||
enter: AnimatedImageVector,
|
||||
exit: AnimatedImageVector,
|
||||
atEnd: Boolean,
|
||||
): Painter {
|
||||
val composed = remember { mutableStateOf(false) }
|
||||
SideEffect { composed.value = true }
|
||||
return key(atEnd) {
|
||||
// A fresh group per change, so the new animation starts from its first frame
|
||||
var playing by remember { mutableStateOf(!composed.value) }
|
||||
LaunchedEffect(Unit) { playing = true }
|
||||
rememberAnimatedVectorPainter(if (atEnd) enter else exit, playing)
|
||||
}
|
||||
}
|
||||
@@ -28,9 +28,7 @@ import androidx.compose.runtime.setValue
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.draw.clip
|
||||
import androidx.compose.ui.graphics.vector.ImageVector
|
||||
import androidx.compose.ui.platform.LocalUriHandler
|
||||
import androidx.compose.ui.res.vectorResource
|
||||
import androidx.compose.ui.unit.dp
|
||||
import cafe.adriel.voyager.core.stack.mutableStateStackOf
|
||||
import com.kevinnzou.web.AccompanistWebChromeClient
|
||||
@@ -44,7 +42,6 @@ import eu.kanade.presentation.components.AppBar
|
||||
import eu.kanade.presentation.components.AppBarActions
|
||||
import eu.kanade.presentation.components.WarningBanner
|
||||
import eu.kanade.tachiyomi.BuildConfig
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.util.system.getHtml
|
||||
import eu.kanade.tachiyomi.util.system.setDefaultSettings
|
||||
import eu.kanade.tachiyomi.util.system.setUserAgent
|
||||
@@ -53,6 +50,7 @@ import mihon.icons.materialsymbols.MaterialSymbols
|
||||
import mihon.icons.materialsymbols.automirroredrounded.ArrowBack
|
||||
import mihon.icons.materialsymbols.automirroredrounded.ArrowForward
|
||||
import mihon.icons.materialsymbols.rounded.Close
|
||||
import mihon.icons.materialsymbols.rounded.TabClose
|
||||
import tachiyomi.i18n.MR
|
||||
import tachiyomi.presentation.core.components.material.Scaffold
|
||||
import tachiyomi.presentation.core.i18n.stringResource
|
||||
@@ -278,7 +276,7 @@ fun WebViewScreenContent(
|
||||
0,
|
||||
AppBar.Action(
|
||||
title = stringResource(MR.strings.action_webview_close_tab),
|
||||
icon = ImageVector.vectorResource(R.drawable.ic_tab_close_24px),
|
||||
icon = MaterialSymbols.Rounded.TabClose,
|
||||
onClick = popState,
|
||||
),
|
||||
)
|
||||
|
||||
@@ -69,6 +69,7 @@ import tachiyomi.presentation.widget.WidgetManager
|
||||
import uy.kohesive.injekt.Injekt
|
||||
import uy.kohesive.injekt.api.InjektScope
|
||||
import java.security.Security
|
||||
import mihon.icons.materialsymbols.R as MaterialSymbolsR
|
||||
|
||||
class App : Application(), DefaultLifecycleObserver, SingletonImageLoader.Factory, GraphProvider<AppGraph> {
|
||||
|
||||
@@ -138,7 +139,7 @@ class App : Application(), DefaultLifecycleObserver, SingletonImageLoader.Factor
|
||||
) {
|
||||
setContentTitle(stringResource(MR.strings.pref_incognito_mode))
|
||||
setContentText(stringResource(MR.strings.notification_incognito_text))
|
||||
setSmallIcon(R.drawable.ic_glasses_24dp)
|
||||
setSmallIcon(MaterialSymbolsR.drawable.rounded_eyeglasses_2)
|
||||
setOngoing(true)
|
||||
|
||||
val pendingIntent = PendingIntent.getBroadcast(
|
||||
|
||||
@@ -19,6 +19,7 @@ import tachiyomi.core.common.storage.displayablePath
|
||||
import tachiyomi.i18n.MR
|
||||
import java.io.File
|
||||
import kotlin.time.Duration.Companion.milliseconds
|
||||
import mihon.icons.materialsymbols.R as MaterialSymbolsR
|
||||
|
||||
@Inject
|
||||
class BackupNotifier(
|
||||
@@ -79,7 +80,7 @@ class BackupNotifier(
|
||||
|
||||
clearActions()
|
||||
addAction(
|
||||
R.drawable.ic_share_24dp,
|
||||
MaterialSymbolsR.drawable.rounded_share,
|
||||
context.stringResource(MR.strings.action_share),
|
||||
NotificationReceiver.shareBackupPendingActivity(context, file.uri),
|
||||
)
|
||||
@@ -111,7 +112,7 @@ class BackupNotifier(
|
||||
|
||||
clearActions()
|
||||
addAction(
|
||||
R.drawable.ic_close_24dp,
|
||||
MaterialSymbolsR.drawable.rounded_close,
|
||||
context.stringResource(MR.strings.action_cancel),
|
||||
NotificationReceiver.cancelRestorePendingBroadcast(context, Notifications.ID_RESTORE_PROGRESS),
|
||||
)
|
||||
@@ -173,7 +174,7 @@ class BackupNotifier(
|
||||
val errorLogIntent = NotificationReceiver.openErrorLogPendingActivity(context, uri)
|
||||
setContentIntent(errorLogIntent)
|
||||
addAction(
|
||||
R.drawable.ic_folder_24dp,
|
||||
MaterialSymbolsR.drawable.rounded_filled_folder,
|
||||
context.stringResource(MR.strings.action_show_errors),
|
||||
errorLogIntent,
|
||||
)
|
||||
|
||||
@@ -18,6 +18,7 @@ import eu.kanade.tachiyomi.util.system.notify
|
||||
import tachiyomi.core.common.i18n.stringResource
|
||||
import tachiyomi.i18n.MR
|
||||
import java.util.regex.Pattern
|
||||
import mihon.icons.materialsymbols.R as MaterialSymbolsR
|
||||
|
||||
/**
|
||||
* DownloadNotifier is used to show notifications when downloading one or multiple chapters.
|
||||
@@ -79,12 +80,12 @@ class DownloadNotifier(
|
||||
isDownloading = true
|
||||
// Pause action
|
||||
addAction(
|
||||
R.drawable.ic_pause_24dp,
|
||||
MaterialSymbolsR.drawable.rounded_filled_pause,
|
||||
context.stringResource(MR.strings.action_pause),
|
||||
NotificationReceiver.pauseDownloadsPendingBroadcast(context),
|
||||
)
|
||||
addAction(
|
||||
R.drawable.ic_book_24dp,
|
||||
MaterialSymbolsR.drawable.rounded_book,
|
||||
context.stringResource(MR.strings.action_show_manga),
|
||||
NotificationReceiver.openEntryPendingActivity(context, download.manga.id),
|
||||
)
|
||||
@@ -129,20 +130,20 @@ class DownloadNotifier(
|
||||
) {
|
||||
setContentTitle(context.stringResource(MR.strings.chapter_paused))
|
||||
setContentText(context.stringResource(MR.strings.download_notifier_download_paused))
|
||||
setSmallIcon(R.drawable.ic_pause_24dp)
|
||||
setSmallIcon(MaterialSymbolsR.drawable.rounded_filled_pause)
|
||||
setLargeIcon(BitmapFactory.decodeResource(context.resources, R.mipmap.ic_launcher))
|
||||
setOnlyAlertOnce(true)
|
||||
// Open download manager when clicked
|
||||
setContentIntent(NotificationHandler.openDownloadManagerPendingActivity(context))
|
||||
// Resume action
|
||||
addAction(
|
||||
R.drawable.ic_play_arrow_24dp,
|
||||
MaterialSymbolsR.drawable.rounded_filled_play_arrow,
|
||||
context.stringResource(MR.strings.action_resume),
|
||||
NotificationReceiver.resumeDownloadsPendingBroadcast(context),
|
||||
)
|
||||
// Clear action
|
||||
addAction(
|
||||
R.drawable.ic_close_24dp,
|
||||
MaterialSymbolsR.drawable.rounded_close,
|
||||
context.stringResource(MR.strings.action_cancel_all),
|
||||
NotificationReceiver.clearDownloadsPendingBroadcast(context),
|
||||
)
|
||||
@@ -177,12 +178,12 @@ class DownloadNotifier(
|
||||
) {
|
||||
setContentTitle(context.stringResource(MR.strings.download_notifier_downloader_title))
|
||||
setStyle(NotificationCompat.BigTextStyle().bigText(reason))
|
||||
setSmallIcon(R.drawable.ic_warning_white_24dp)
|
||||
setSmallIcon(MaterialSymbolsR.drawable.rounded_filled_warning)
|
||||
setAutoCancel(true)
|
||||
setContentIntent(NotificationHandler.openDownloadManagerPendingActivity(context))
|
||||
if (mangaId != null) {
|
||||
addAction(
|
||||
R.drawable.ic_book_24dp,
|
||||
MaterialSymbolsR.drawable.rounded_book,
|
||||
context.stringResource(MR.strings.action_show_manga),
|
||||
NotificationReceiver.openEntryPendingActivity(context, mangaId),
|
||||
)
|
||||
@@ -213,11 +214,11 @@ class DownloadNotifier(
|
||||
mangaTitle?.plus(": $chapter") ?: context.stringResource(MR.strings.download_notifier_downloader_title),
|
||||
)
|
||||
setContentText(error ?: context.stringResource(MR.strings.download_notifier_unknown_error))
|
||||
setSmallIcon(R.drawable.ic_warning_white_24dp)
|
||||
setSmallIcon(MaterialSymbolsR.drawable.rounded_filled_warning)
|
||||
setContentIntent(NotificationHandler.openDownloadManagerPendingActivity(context))
|
||||
if (mangaId != null) {
|
||||
addAction(
|
||||
R.drawable.ic_book_24dp,
|
||||
MaterialSymbolsR.drawable.rounded_book,
|
||||
context.stringResource(MR.strings.action_show_manga),
|
||||
NotificationReceiver.openEntryPendingActivity(context, mangaId),
|
||||
)
|
||||
|
||||
@@ -40,6 +40,7 @@ import tachiyomi.domain.source.service.SourceManager
|
||||
import tachiyomi.i18n.MR
|
||||
import java.math.RoundingMode
|
||||
import java.text.NumberFormat
|
||||
import mihon.icons.materialsymbols.R as MaterialSymbolsR
|
||||
|
||||
@Inject
|
||||
class LibraryUpdateNotifier(
|
||||
@@ -73,11 +74,15 @@ class LibraryUpdateNotifier(
|
||||
val progressNotificationBuilder by lazy {
|
||||
context.notificationBuilder(Notifications.CHANNEL_LIBRARY_PROGRESS) {
|
||||
setContentTitle(context.stringResource(MR.strings.app_name))
|
||||
setSmallIcon(R.drawable.ic_refresh_24dp)
|
||||
setSmallIcon(MaterialSymbolsR.drawable.rounded_refresh)
|
||||
setLargeIcon(notificationBitmap)
|
||||
setOngoing(true)
|
||||
setOnlyAlertOnce(true)
|
||||
addAction(R.drawable.ic_close_24dp, context.stringResource(MR.strings.action_cancel), cancelIntent)
|
||||
addAction(
|
||||
MaterialSymbolsR.drawable.rounded_close,
|
||||
context.stringResource(MR.strings.action_cancel),
|
||||
cancelIntent,
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -131,7 +136,7 @@ class LibraryUpdateNotifier(
|
||||
setStyle(
|
||||
NotificationCompat.BigTextStyle().bigText(context.stringResource(MR.strings.notification_size_warning)),
|
||||
)
|
||||
setSmallIcon(R.drawable.ic_warning_white_24dp)
|
||||
setSmallIcon(MaterialSymbolsR.drawable.rounded_filled_warning)
|
||||
setTimeoutAfter(Downloader.WARNING_NOTIF_TIMEOUT_MS)
|
||||
setContentIntent(NotificationHandler.openUrl(context, HELP_WARNING_URL))
|
||||
}
|
||||
@@ -246,7 +251,7 @@ class LibraryUpdateNotifier(
|
||||
|
||||
// Mark chapters as read action
|
||||
addAction(
|
||||
R.drawable.ic_done_24dp,
|
||||
MaterialSymbolsR.drawable.rounded_check,
|
||||
context.stringResource(MR.strings.action_mark_as_read),
|
||||
NotificationReceiver.markAsReadPendingBroadcast(
|
||||
context,
|
||||
@@ -257,7 +262,7 @@ class LibraryUpdateNotifier(
|
||||
)
|
||||
// View chapters action
|
||||
addAction(
|
||||
R.drawable.ic_book_24dp,
|
||||
MaterialSymbolsR.drawable.rounded_book,
|
||||
context.stringResource(MR.strings.action_view_chapters),
|
||||
NotificationReceiver.openChapterPendingActivity(
|
||||
context,
|
||||
|
||||
@@ -5,7 +5,6 @@ import androidx.core.app.NotificationCompat
|
||||
import dev.zacsweers.metro.AppScope
|
||||
import dev.zacsweers.metro.Inject
|
||||
import dev.zacsweers.metro.SingleIn
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.core.security.SecurityPreferences
|
||||
import eu.kanade.tachiyomi.data.notification.NotificationReceiver
|
||||
import eu.kanade.tachiyomi.data.notification.Notifications
|
||||
@@ -13,6 +12,7 @@ import eu.kanade.tachiyomi.util.system.cancelNotification
|
||||
import eu.kanade.tachiyomi.util.system.notify
|
||||
import tachiyomi.core.common.i18n.pluralStringResource
|
||||
import tachiyomi.i18n.MR
|
||||
import mihon.icons.materialsymbols.R as MaterialSymbolsR
|
||||
|
||||
@Inject
|
||||
@SingleIn(AppScope::class)
|
||||
@@ -37,7 +37,7 @@ class ExtensionUpdateNotifier(
|
||||
setContentText(extNames)
|
||||
setStyle(NotificationCompat.BigTextStyle().bigText(extNames))
|
||||
}
|
||||
setSmallIcon(R.drawable.ic_extension_24dp)
|
||||
setSmallIcon(MaterialSymbolsR.drawable.rounded_filled_extension)
|
||||
setContentIntent(NotificationReceiver.openExtensionsPendingActivity(context))
|
||||
setAutoCancel(true)
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package eu.kanade.tachiyomi.ui.browse
|
||||
|
||||
import androidx.compose.animation.graphics.res.animatedVectorResource
|
||||
import androidx.compose.animation.graphics.res.rememberAnimatedVectorPainter
|
||||
import androidx.compose.animation.graphics.vector.AnimatedImageVector
|
||||
import androidx.compose.foundation.pager.rememberPagerState
|
||||
import androidx.compose.runtime.Composable
|
||||
@@ -15,6 +14,7 @@ import cafe.adriel.voyager.navigator.tab.TabOptions
|
||||
import dev.zacsweers.metrox.viewmodel.metroViewModel
|
||||
import eu.kanade.presentation.components.TabbedScreen
|
||||
import eu.kanade.presentation.util.Tab
|
||||
import eu.kanade.presentation.util.rememberAnimatedVectorPainter
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.ui.browse.extension.ExtensionsViewModel
|
||||
import eu.kanade.tachiyomi.ui.browse.extension.extensionsTab
|
||||
@@ -35,11 +35,12 @@ data object BrowseTab : Tab {
|
||||
@Composable
|
||||
get() {
|
||||
val isSelected = LocalTabNavigator.current.current.key == key
|
||||
val image = AnimatedImageVector.animatedVectorResource(R.drawable.anim_browse_enter)
|
||||
val enter = AnimatedImageVector.animatedVectorResource(R.drawable.animated_browse_enter)
|
||||
val exit = AnimatedImageVector.animatedVectorResource(R.drawable.animated_browse_exit)
|
||||
return TabOptions(
|
||||
index = 3u,
|
||||
title = stringResource(MR.strings.browse),
|
||||
icon = rememberAnimatedVectorPainter(image, isSelected),
|
||||
icon = rememberAnimatedVectorPainter(enter, exit, isSelected),
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
@@ -51,7 +51,7 @@ import kotlinx.coroutines.flow.receiveAsFlow
|
||||
import mihon.feature.migration.dialog.MigrateMangaDialog
|
||||
import mihon.icons.materialsymbols.MaterialSymbols
|
||||
import mihon.icons.materialsymbols.rounded.FilterList
|
||||
import mihon.icons.materialsymbols.rounded.NewReleases
|
||||
import mihon.icons.materialsymbols.rounded.Verified
|
||||
import mihon.icons.materialsymbols.roundedfilled.Favorite
|
||||
import mihon.presentation.core.util.collectAsLazyPagingItems
|
||||
import tachiyomi.core.common.Constants
|
||||
@@ -177,7 +177,7 @@ data class BrowseSourceScreen(
|
||||
},
|
||||
leadingIcon = {
|
||||
Icon(
|
||||
imageVector = MaterialSymbols.Rounded.NewReleases,
|
||||
imageVector = MaterialSymbols.Rounded.Verified,
|
||||
contentDescription = null,
|
||||
modifier = Modifier
|
||||
.size(FilterChipDefaults.IconSize),
|
||||
|
||||
@@ -46,7 +46,7 @@ data object HistoryTab : Tab {
|
||||
@Composable
|
||||
get() {
|
||||
val isSelected = LocalTabNavigator.current.current.key == key
|
||||
val image = AnimatedImageVector.animatedVectorResource(R.drawable.anim_history_enter)
|
||||
val image = AnimatedImageVector.animatedVectorResource(R.drawable.animated_history)
|
||||
return TabOptions(
|
||||
index = 2u,
|
||||
title = stringResource(MR.strings.label_recent_manga),
|
||||
|
||||
@@ -68,7 +68,7 @@ data object LibraryTab : Tab {
|
||||
@Composable
|
||||
get() {
|
||||
val isSelected = LocalTabNavigator.current.current.key == key
|
||||
val image = AnimatedImageVector.animatedVectorResource(R.drawable.anim_library_enter)
|
||||
val image = AnimatedImageVector.animatedVectorResource(R.drawable.animated_library)
|
||||
return TabOptions(
|
||||
index = 0u,
|
||||
title = stringResource(MR.strings.label_library),
|
||||
|
||||
@@ -113,7 +113,7 @@ import mihon.domain.database.repository.DatabaseRepository
|
||||
import mihon.feature.support.SupportUsScreen
|
||||
import mihon.icons.materialsymbols.MaterialSymbols
|
||||
import mihon.icons.materialsymbols.automirroredrounded.OpenInNew
|
||||
import mihon.icons.materialsymbols.rounded.VolunteerActivism
|
||||
import mihon.icons.materialsymbols.roundedfilled.VolunteerActivism
|
||||
import tachiyomi.core.common.Constants
|
||||
import tachiyomi.core.common.util.lang.launchIO
|
||||
import tachiyomi.core.common.util.system.logcat
|
||||
@@ -437,7 +437,7 @@ class MainActivity : BaseActivity() {
|
||||
horizontalArrangement = Arrangement.spacedBy(MaterialTheme.padding.small),
|
||||
) {
|
||||
Icon(
|
||||
imageVector = MaterialSymbols.Rounded.VolunteerActivism,
|
||||
imageVector = MaterialSymbols.RoundedFilled.VolunteerActivism,
|
||||
contentDescription = null,
|
||||
)
|
||||
Text(
|
||||
|
||||
@@ -72,7 +72,7 @@ import kotlinx.datetime.toLocalDateTime
|
||||
import logcat.LogPriority
|
||||
import mihon.app.di.appGraph
|
||||
import mihon.icons.materialsymbols.MaterialSymbols
|
||||
import mihon.icons.materialsymbols.rounded.Delete
|
||||
import mihon.icons.materialsymbols.roundedfilled.Delete
|
||||
import tachiyomi.core.common.i18n.stringResource
|
||||
import tachiyomi.core.common.util.lang.launchNonCancellable
|
||||
import tachiyomi.core.common.util.lang.withIOContext
|
||||
@@ -630,7 +630,7 @@ data class TrackDateRemoverScreen(
|
||||
modifier = Modifier.windowInsetsPadding(WindowInsets.systemBars),
|
||||
icon = {
|
||||
Icon(
|
||||
imageVector = MaterialSymbols.Rounded.Delete,
|
||||
imageVector = MaterialSymbols.RoundedFilled.Delete,
|
||||
contentDescription = null,
|
||||
)
|
||||
},
|
||||
@@ -836,7 +836,7 @@ data class TrackerRemoveScreen(
|
||||
modifier = Modifier.windowInsetsPadding(WindowInsets.systemBars),
|
||||
icon = {
|
||||
Icon(
|
||||
imageVector = MaterialSymbols.Rounded.Delete,
|
||||
imageVector = MaterialSymbols.RoundedFilled.Delete,
|
||||
contentDescription = null,
|
||||
)
|
||||
},
|
||||
|
||||
@@ -45,7 +45,7 @@ data object MoreTab : Tab {
|
||||
@Composable
|
||||
get() {
|
||||
val isSelected = LocalTabNavigator.current.current.key == key
|
||||
val image = AnimatedImageVector.animatedVectorResource(R.drawable.anim_more_enter)
|
||||
val image = AnimatedImageVector.animatedVectorResource(R.drawable.animated_more)
|
||||
return TabOptions(
|
||||
index = 4u,
|
||||
title = stringResource(MR.strings.label_more),
|
||||
|
||||
@@ -18,6 +18,7 @@ import eu.kanade.tachiyomi.util.system.notificationBuilder
|
||||
import eu.kanade.tachiyomi.util.system.notify
|
||||
import tachiyomi.core.common.i18n.stringResource
|
||||
import tachiyomi.i18n.MR
|
||||
import mihon.icons.materialsymbols.R as MaterialSymbolsR
|
||||
|
||||
/**
|
||||
* Class used to show BigPictureStyle notifications
|
||||
@@ -69,7 +70,7 @@ class SaveImageNotifier(private val context: Context) {
|
||||
private fun showCompleteNotification(uri: Uri, image: Bitmap?) {
|
||||
with(notificationBuilder) {
|
||||
setContentTitle(context.stringResource(MR.strings.picture_saved))
|
||||
setSmallIcon(R.drawable.ic_photo_24dp)
|
||||
setSmallIcon(MaterialSymbolsR.drawable.rounded_filled_photo)
|
||||
image?.let { setStyle(NotificationCompat.BigPictureStyle().bigPicture(it)) }
|
||||
setLargeIcon(image)
|
||||
setAutoCancel(true)
|
||||
@@ -80,7 +81,7 @@ class SaveImageNotifier(private val context: Context) {
|
||||
setContentIntent(NotificationHandler.openImagePendingActivity(context, uri))
|
||||
// Share action
|
||||
addAction(
|
||||
R.drawable.ic_share_24dp,
|
||||
MaterialSymbolsR.drawable.rounded_share,
|
||||
context.stringResource(MR.strings.action_share),
|
||||
NotificationReceiver.shareImagePendingBroadcast(context, uri),
|
||||
)
|
||||
|
||||
@@ -4,11 +4,11 @@ import android.content.pm.ActivityInfo
|
||||
import androidx.compose.ui.graphics.vector.ImageVector
|
||||
import dev.icerock.moko.resources.StringResource
|
||||
import mihon.icons.materialsymbols.MaterialSymbols
|
||||
import mihon.icons.materialsymbols.rounded.ScreenLockLandscape
|
||||
import mihon.icons.materialsymbols.rounded.ScreenLockPortrait
|
||||
import mihon.icons.materialsymbols.rounded.ScreenRotation
|
||||
import mihon.icons.materialsymbols.rounded.StayCurrentLandscape
|
||||
import mihon.icons.materialsymbols.rounded.StayCurrentPortrait
|
||||
import mihon.icons.materialsymbols.rounded.Mobile
|
||||
import mihon.icons.materialsymbols.rounded.MobileLandscape
|
||||
import mihon.icons.materialsymbols.rounded.MobileLockLandscape
|
||||
import mihon.icons.materialsymbols.rounded.MobileLockPortrait
|
||||
import mihon.icons.materialsymbols.rounded.MobileRotate
|
||||
import tachiyomi.i18n.MR
|
||||
|
||||
enum class ReaderOrientation(
|
||||
@@ -20,43 +20,43 @@ enum class ReaderOrientation(
|
||||
DEFAULT(
|
||||
ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED,
|
||||
MR.strings.label_default,
|
||||
MaterialSymbols.Rounded.ScreenRotation,
|
||||
MaterialSymbols.Rounded.MobileRotate,
|
||||
0x00000000,
|
||||
),
|
||||
FREE(
|
||||
ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED,
|
||||
MR.strings.rotation_free,
|
||||
MaterialSymbols.Rounded.ScreenRotation,
|
||||
MaterialSymbols.Rounded.MobileRotate,
|
||||
0x00000008,
|
||||
),
|
||||
PORTRAIT(
|
||||
ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT,
|
||||
MR.strings.rotation_portrait,
|
||||
MaterialSymbols.Rounded.StayCurrentPortrait,
|
||||
MaterialSymbols.Rounded.Mobile,
|
||||
0x00000010,
|
||||
),
|
||||
LANDSCAPE(
|
||||
ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE,
|
||||
MR.strings.rotation_landscape,
|
||||
MaterialSymbols.Rounded.StayCurrentLandscape,
|
||||
MaterialSymbols.Rounded.MobileLandscape,
|
||||
0x00000018,
|
||||
),
|
||||
LOCKED_PORTRAIT(
|
||||
ActivityInfo.SCREEN_ORIENTATION_PORTRAIT,
|
||||
MR.strings.rotation_force_portrait,
|
||||
MaterialSymbols.Rounded.ScreenLockPortrait,
|
||||
MaterialSymbols.Rounded.MobileLockPortrait,
|
||||
0x00000020,
|
||||
),
|
||||
LOCKED_LANDSCAPE(
|
||||
ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE,
|
||||
MR.strings.rotation_force_landscape,
|
||||
MaterialSymbols.Rounded.ScreenLockLandscape,
|
||||
MaterialSymbols.Rounded.MobileLockLandscape,
|
||||
0x00000028,
|
||||
),
|
||||
REVERSE_PORTRAIT(
|
||||
ActivityInfo.SCREEN_ORIENTATION_REVERSE_PORTRAIT,
|
||||
MR.strings.rotation_reverse_portrait,
|
||||
MaterialSymbols.Rounded.StayCurrentPortrait,
|
||||
MaterialSymbols.Rounded.Mobile,
|
||||
0x00000030,
|
||||
),
|
||||
;
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
package eu.kanade.tachiyomi.ui.reader.setting
|
||||
|
||||
import androidx.annotation.DrawableRes
|
||||
import androidx.compose.ui.graphics.vector.ImageVector
|
||||
import dev.icerock.moko.resources.StringResource
|
||||
import eu.kanade.tachiyomi.R
|
||||
import eu.kanade.tachiyomi.ui.reader.ReaderActivity
|
||||
import eu.kanade.tachiyomi.ui.reader.viewer.Viewer
|
||||
import eu.kanade.tachiyomi.ui.reader.viewer.pager.L2RPagerViewer
|
||||
@@ -12,47 +11,55 @@ import eu.kanade.tachiyomi.ui.reader.viewer.webgpu.WebGpuViewer
|
||||
import eu.kanade.tachiyomi.ui.reader.viewer.webgpu.WebGpuViewerContinuous
|
||||
import eu.kanade.tachiyomi.ui.reader.viewer.webtoon.WebtoonViewer
|
||||
import mihon.app.di.appGraph
|
||||
import mihon.icons.custommaterialsymbols.CustomMaterialSymbols
|
||||
import mihon.icons.custommaterialsymbols.rounded.ReaderLeftToRight
|
||||
import mihon.icons.custommaterialsymbols.rounded.ReaderLongStrip
|
||||
import mihon.icons.custommaterialsymbols.rounded.ReaderLongStripGaps
|
||||
import mihon.icons.custommaterialsymbols.rounded.ReaderRightToLeft
|
||||
import mihon.icons.custommaterialsymbols.rounded.ReaderVertical
|
||||
import mihon.icons.materialsymbols.MaterialSymbols
|
||||
import mihon.icons.materialsymbols.rounded.MobileGear
|
||||
import tachiyomi.i18n.MR
|
||||
|
||||
enum class ReadingMode(
|
||||
val stringRes: StringResource,
|
||||
@DrawableRes val iconRes: Int,
|
||||
val icon: ImageVector,
|
||||
val flagValue: Int,
|
||||
val direction: Direction? = null,
|
||||
val type: ViewerType? = null,
|
||||
) {
|
||||
DEFAULT(MR.strings.label_default, R.drawable.ic_reader_default_24dp, 0x00000000),
|
||||
DEFAULT(MR.strings.label_default, MaterialSymbols.Rounded.MobileGear, 0x00000000),
|
||||
LEFT_TO_RIGHT(
|
||||
MR.strings.left_to_right_viewer,
|
||||
R.drawable.ic_reader_ltr_24dp,
|
||||
CustomMaterialSymbols.Rounded.ReaderLeftToRight,
|
||||
0x00000001,
|
||||
Direction.Horizontal,
|
||||
ViewerType.Pager,
|
||||
),
|
||||
RIGHT_TO_LEFT(
|
||||
MR.strings.right_to_left_viewer,
|
||||
R.drawable.ic_reader_rtl_24dp,
|
||||
CustomMaterialSymbols.Rounded.ReaderRightToLeft,
|
||||
0x00000002,
|
||||
Direction.Horizontal,
|
||||
ViewerType.Pager,
|
||||
),
|
||||
VERTICAL(
|
||||
MR.strings.vertical_viewer,
|
||||
R.drawable.ic_reader_vertical_24dp,
|
||||
CustomMaterialSymbols.Rounded.ReaderVertical,
|
||||
0x00000003,
|
||||
Direction.Vertical,
|
||||
ViewerType.Pager,
|
||||
),
|
||||
WEBTOON(
|
||||
MR.strings.webtoon_viewer,
|
||||
R.drawable.ic_reader_webtoon_24dp,
|
||||
CustomMaterialSymbols.Rounded.ReaderLongStrip,
|
||||
0x00000004,
|
||||
Direction.Vertical,
|
||||
ViewerType.Webtoon,
|
||||
),
|
||||
CONTINUOUS_VERTICAL(
|
||||
MR.strings.vertical_plus_viewer,
|
||||
R.drawable.ic_reader_continuous_vertical_24dp,
|
||||
CustomMaterialSymbols.Rounded.ReaderLongStripGaps,
|
||||
0x00000005,
|
||||
Direction.Vertical,
|
||||
ViewerType.Webtoon,
|
||||
|
||||
@@ -38,7 +38,7 @@ data object UpdatesTab : Tab {
|
||||
@Composable
|
||||
get() {
|
||||
val isSelected = LocalTabNavigator.current.current.key == key
|
||||
val image = AnimatedImageVector.animatedVectorResource(R.drawable.anim_updates_enter)
|
||||
val image = AnimatedImageVector.animatedVectorResource(R.drawable.animated_updates)
|
||||
return TabOptions(
|
||||
index = 1u,
|
||||
title = stringResource(MR.strings.label_recent_updates),
|
||||
|
||||
@@ -34,7 +34,7 @@ import mihon.domain.migration.models.MigrationFlag
|
||||
import mihon.feature.common.utils.getLabel
|
||||
import mihon.icons.materialsymbols.MaterialSymbols
|
||||
import mihon.icons.materialsymbols.rounded.Check
|
||||
import mihon.icons.materialsymbols.rounded.Warning
|
||||
import mihon.icons.materialsymbols.roundedfilled.Warning
|
||||
import tachiyomi.core.common.preference.Preference
|
||||
import tachiyomi.core.common.preference.getAndSet
|
||||
import tachiyomi.core.common.preference.toggle
|
||||
@@ -226,7 +226,7 @@ private fun MigrationSheetWarningItem(
|
||||
ListItem(
|
||||
leadingContent = {
|
||||
Icon(
|
||||
imageVector = MaterialSymbols.Rounded.Warning,
|
||||
imageVector = MaterialSymbols.RoundedFilled.Warning,
|
||||
contentDescription = null,
|
||||
tint = MaterialTheme.colorScheme.active,
|
||||
)
|
||||
|
||||
@@ -49,10 +49,10 @@ import eu.kanade.tachiyomi.R
|
||||
import mihon.feature.migration.list.models.MigratingManga
|
||||
import mihon.icons.materialsymbols.MaterialSymbols
|
||||
import mihon.icons.materialsymbols.automirroredrounded.ArrowForward
|
||||
import mihon.icons.materialsymbols.rounded.Check
|
||||
import mihon.icons.materialsymbols.rounded.Close
|
||||
import mihon.icons.materialsymbols.rounded.ContentCopy
|
||||
import mihon.icons.materialsymbols.rounded.CopyAll
|
||||
import mihon.icons.materialsymbols.rounded.Done
|
||||
import mihon.icons.materialsymbols.rounded.DoneAll
|
||||
import mihon.icons.materialsymbols.rounded.MoreVert
|
||||
import tachiyomi.domain.manga.model.Manga
|
||||
@@ -106,7 +106,7 @@ fun MigrationListScreenContent(
|
||||
icon = if (items.size ==
|
||||
1
|
||||
) {
|
||||
MaterialSymbols.Rounded.Done
|
||||
MaterialSymbols.Rounded.Check
|
||||
} else {
|
||||
MaterialSymbols.Rounded.DoneAll
|
||||
},
|
||||
|
||||
@@ -1,104 +0,0 @@
|
||||
<animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt">
|
||||
<aapt:attr name="android:drawable">
|
||||
<vector
|
||||
android:name="browse_enter"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<group
|
||||
android:name="main_parent"
|
||||
android:pivotX="12"
|
||||
android:pivotY="12">
|
||||
<group
|
||||
android:name="group"
|
||||
android:pivotX="12"
|
||||
android:pivotY="12">
|
||||
<path
|
||||
android:name="dot"
|
||||
android:fillColor="#000000"
|
||||
android:pathData="M 12 10.9 C 12.61 10.9 13.1 11.39 13.1 12 C 13.1 12.61 12.61 13.1 12 13.1 C 11.39 13.1 10.9 12.61 10.9 12 C 10.9 11.39 11.39 10.9 12 10.9 Z" />
|
||||
</group>
|
||||
<clip-path
|
||||
android:name="dot_mask"
|
||||
android:pathData="M 0.188 0.188 L 0.188 24 L 23.938 24 L 23.938 0.188 L 0.188 0.188 Z M 12 10.9 C 12.61 10.9 13.1 11.39 13.1 12 C 13.1 12.61 12.61 13.1 12 13.1 C 11.39 13.1 10.9 12.61 10.9 12 C 10.9 11.39 11.39 10.9 12 10.9 Z" />
|
||||
<path
|
||||
android:name="compass"
|
||||
android:fillColor="#000000"
|
||||
android:pathData="M 6.5 17.5 L 14.01 14.01 L 17.5 6.5 L 9.99 9.99 L 6.5 17.5 Z M 12 10.9 C 12.61 10.9 13.1 11.39 13.1 12 C 13.1 12.61 12.61 13.1 12 13.1 C 11.39 13.1 10.9 12.61 10.9 12 C 10.9 11.39 11.39 10.9 12 10.9 Z" />
|
||||
<group
|
||||
android:name="ring_parent"
|
||||
android:pivotX="12"
|
||||
android:pivotY="12"
|
||||
android:scaleX="0.833"
|
||||
android:scaleY="0.833">
|
||||
<path
|
||||
android:name="ring"
|
||||
android:fillColor="#000000"
|
||||
android:pathData="M 12 0 C 8.819 0 5.765 1.265 3.515 3.515 C 1.265 5.765 0 8.819 0 12 C 0 15.181 1.265 18.235 3.515 20.485 C 5.765 22.735 8.819 24 12 24 C 15.181 24 18.235 22.735 20.485 20.485 C 22.735 18.235 24 15.181 24 12 C 24 8.819 22.735 5.765 20.485 3.515 C 18.235 1.265 15.181 0 12 0 Z M 12 21.6 C 9.455 21.6 7.012 20.588 5.212 18.788 C 3.412 16.988 2.4 14.545 2.4 12 C 2.4 9.455 3.412 7.012 5.212 5.212 C 7.012 3.412 9.455 2.4 12 2.4 C 14.545 2.4 16.988 3.412 18.788 5.212 C 20.588 7.012 21.6 9.455 21.6 12 C 21.6 14.545 20.588 16.988 18.788 18.788 C 16.988 20.588 14.545 21.6 12 21.6 Z"
|
||||
android:strokeAlpha="0" />
|
||||
</group>
|
||||
<group android:name="group_1" />
|
||||
</group>
|
||||
</vector>
|
||||
</aapt:attr>
|
||||
<target android:name="compass">
|
||||
<aapt:attr name="android:animation">
|
||||
<objectAnimator
|
||||
android:duration="300"
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:propertyName="pathData"
|
||||
android:valueFrom="M 9.99 9.99 C 9.408 11.242 8.827 12.493 8.245 13.745 C 7.663 14.997 7.082 16.248 6.5 17.5 C 6.5 17.5 6.5 17.5 6.5 17.5 C 9.003 16.337 11.507 15.173 14.01 14.01 C 15.173 11.507 16.337 9.003 17.5 6.5 C 14.997 7.663 12.493 8.827 9.99 9.99 M 12 10.9 C 11.39 10.9 10.9 11.39 10.9 12 C 10.9 12.305 11.023 12.58 11.221 12.779 C 11.42 12.977 11.695 13.1 12 13.1 C 12.61 13.1 13.1 12.61 13.1 12 C 13.1 11.39 12.61 10.9 12 10.9 L 12 10.9 M 12 12 L 12 12 L 12 12 L 12 12 L 12 12 L 12 12 L 12 12 M 12 12 L 12 12 C 12 12 12 12 12 12 C 12 12 12 12 12 12 C 12 12 12 12 12 12 C 12 12 12 12 12 12"
|
||||
android:valueTo="M 12 2 C 6.48 2 2 6.48 2 12 C 2 17.141 5.886 21.38 10.878 21.938 C 11.247 21.979 11.621 22 12 22 C 17.52 22 22 17.52 22 12 C 22 6.48 17.52 2 12 2 C 12 2 12 2 12 2 M 12 10.9 C 11.695 10.9 11.42 11.023 11.221 11.221 C 11.023 11.42 10.9 11.695 10.9 12 C 10.9 12.61 11.39 13.1 12 13.1 C 12.61 13.1 13.1 12.61 13.1 12 C 13.1 11.39 12.61 10.9 12 10.9 L 12 10.9 M 14.19 14.19 L 6 18 L 6 18 L 9.81 9.81 L 18 6 L 14.19 14.19 L 14.19 14.19 M 12 12 L 12 12 C 12 12 12 12 12 12 C 12 12 12 12 12 12 C 12 12 12 12 12 12 C 12 12 12 12 12 12"
|
||||
android:valueType="pathType" />
|
||||
</aapt:attr>
|
||||
</target>
|
||||
<target android:name="main_parent">
|
||||
<aapt:attr name="android:animation">
|
||||
<objectAnimator
|
||||
android:duration="300"
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:propertyName="rotation"
|
||||
android:valueFrom="0"
|
||||
android:valueTo="180"
|
||||
android:valueType="floatType" />
|
||||
</aapt:attr>
|
||||
</target>
|
||||
<target android:name="group">
|
||||
<aapt:attr name="android:animation">
|
||||
<set>
|
||||
<objectAnimator
|
||||
android:duration="66"
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:propertyName="scaleX"
|
||||
android:valueFrom="0"
|
||||
android:valueTo="0"
|
||||
android:valueType="floatType" />
|
||||
<objectAnimator
|
||||
android:duration="100"
|
||||
android:interpolator="@android:anim/decelerate_interpolator"
|
||||
android:propertyName="scaleX"
|
||||
android:startOffset="66"
|
||||
android:valueFrom="0"
|
||||
android:valueTo="1"
|
||||
android:valueType="floatType" />
|
||||
<objectAnimator
|
||||
android:duration="66"
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:propertyName="scaleY"
|
||||
android:valueFrom="0"
|
||||
android:valueTo="0"
|
||||
android:valueType="floatType" />
|
||||
<objectAnimator
|
||||
android:duration="100"
|
||||
android:interpolator="@android:anim/decelerate_interpolator"
|
||||
android:propertyName="scaleY"
|
||||
android:startOffset="66"
|
||||
android:valueFrom="0"
|
||||
android:valueTo="1"
|
||||
android:valueType="floatType" />
|
||||
</set>
|
||||
</aapt:attr>
|
||||
</target>
|
||||
</animated-vector>
|
||||
@@ -1,36 +0,0 @@
|
||||
<animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt">
|
||||
<aapt:attr name="android:drawable">
|
||||
<vector
|
||||
android:name="history_enter"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:name="clock"
|
||||
android:fillColor="#000000"
|
||||
android:pathData="M 12 8 L 12 13 L 16.28 15.54 L 17 14.33 L 13.5 12.25 L 13.5 8 L 12 8 Z" />
|
||||
<group
|
||||
android:name="arrow_head"
|
||||
android:pivotX="13"
|
||||
android:pivotY="12">
|
||||
<path
|
||||
android:name="arrow"
|
||||
android:fillColor="#000000"
|
||||
android:pathData="M 13 3 C 8.03 3 4 7.03 4 12 L 1 12 L 4.89 15.89 L 4.96 16.03 L 9 12 L 6 12 C 6 8.13 9.13 5 13 5 C 16.87 5 20 8.13 20 12 C 20 15.87 16.87 19 13 19 C 11.07 19 9.32 18.21 8.06 16.94 L 6.64 18.36 C 8.27 19.99 10.51 21 13 21 C 17.97 21 22 16.97 22 12 C 22 7.03 17.97 3 13 3 Z M 13 3 Z" />
|
||||
</group>
|
||||
</vector>
|
||||
</aapt:attr>
|
||||
<target android:name="arrow_head">
|
||||
<aapt:attr name="android:animation">
|
||||
<objectAnimator
|
||||
android:duration="500"
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:propertyName="rotation"
|
||||
android:valueFrom="360"
|
||||
android:valueTo="0"
|
||||
android:valueType="floatType" />
|
||||
</aapt:attr>
|
||||
</target>
|
||||
</animated-vector>
|
||||
@@ -1,31 +0,0 @@
|
||||
<animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt">
|
||||
<aapt:attr name="android:drawable">
|
||||
<vector
|
||||
android:name="vector"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="1080"
|
||||
android:viewportHeight="1080">
|
||||
<path
|
||||
android:name="bookmark"
|
||||
android:fillColor="#000000"
|
||||
android:pathData="M 899.84 90.84 C 899.84 90.84 360.3 90.84 360.3 90.84 C 310.84 90.84 270.38 131.3 270.38 180.76 C 270.38 180.76 270.38 720.31 270.38 720.31 C 270.38 769.76 310.84 810.23 360.3 810.23 C 360.3 810.23 899.84 810.23 899.84 810.23 C 949.3 810.23 989.77 769.76 989.77 720.31 C 989.77 720.31 989.77 180.76 989.77 180.76 C 989.77 131.3 949.3 90.84 899.84 90.84 M 899.84 720.31 C 899.84 720.31 360.3 720.31 360.3 720.31 C 360.3 720.31 360.3 180.76 360.3 180.76 C 360.3 180.76 585.11 180.76 585.11 180.76 C 585.11 180.76 585.11 585.42 585.11 585.42 C 585.11 585.42 720 484.26 720 484.26 C 720 484.26 854.88 585.42 854.88 585.42 C 854.88 585.42 854.88 180.76 854.88 180.76 C 854.88 180.76 899.84 180.76 899.84 180.76 C 899.84 180.76 899.84 720.31 899.84 720.31" />
|
||||
<path
|
||||
android:name="angle"
|
||||
android:fillColor="#000000"
|
||||
android:pathData="M 180.45 270.69 C 180.45 270.69 90.53 270.69 90.53 270.69 C 90.53 270.69 90.53 900.15 90.53 900.15 C 90.53 949.61 131 990.08 180.45 990.08 C 180.45 990.08 809.92 990.08 809.92 990.08 C 809.92 990.08 809.92 900.15 809.92 900.15 C 809.92 900.15 180.45 900.15 180.45 900.15 C 180.45 900.15 180.45 270.69 180.45 270.69" />
|
||||
</vector>
|
||||
</aapt:attr>
|
||||
<target android:name="bookmark">
|
||||
<aapt:attr name="android:animation">
|
||||
<objectAnimator
|
||||
android:duration="300"
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:propertyName="pathData"
|
||||
android:valueFrom="M 634.454 90.84 C 543.069 90.84 451.685 90.84 360.3 90.84 C 310.84 90.84 270.38 131.3 270.38 180.76 C 270.38 360.61 270.38 540.46 270.38 720.31 C 270.38 769.76 310.84 810.23 360.3 810.23 C 540.147 810.23 719.993 810.23 899.84 810.23 C 949.3 810.23 989.77 769.76 989.77 720.31 C 989.77 540.46 989.77 360.61 989.77 180.76 C 989.77 131.3 949.3 90.84 899.84 90.84 C 811.378 90.84 722.916 90.84 634.454 90.84 M 899.84 720.31 C 834.876 720.31 769.913 720.31 704.949 720.31 C 590.066 720.31 475.183 720.31 360.3 720.31 C 360.3 540.46 360.3 360.61 360.3 180.76 C 435.237 180.76 510.173 180.76 585.11 180.76 L 585.11 180.76 C 585.11 315.647 585.11 450.533 585.11 585.42 C 630.073 551.7 675.037 517.98 720 484.26 C 764.96 517.98 809.92 551.7 854.88 585.42 C 854.88 450.533 854.88 315.647 854.88 180.76 C 869.867 180.76 884.853 180.76 899.84 180.76 C 899.84 360.61 899.84 540.46 899.84 720.31"
|
||||
android:valueTo="M 900 90 C 720 90 540 90 360 90 C 310.5 90 270 130.5 270 180 C 270 360 270 540 270 720 C 270 769.5 310.5 810 360 810 C 540 810 720 810 900 810 C 949.5 810 990 769.5 990 720 C 990 540 990 360 990 180 C 990 130.5 949.5 90 900 90 C 900 90 900 90 900 90 M 900 540 C 862.5 517.5 825 495 787.5 472.5 C 750 495 712.5 517.5 675 540 C 675 540 675 540 675 540 C 675 471.351 675 402.701 675 334.052 L 675 180 C 675 180 675 180 675 180 C 713.708 180 752.416 180 791.124 180 C 827.416 180 863.708 180 900 180 C 900 233.194 900 286.387 900 339.581 C 900 406.387 900 473.194 900 540 C 900 540 900 540 900 540"
|
||||
android:valueType="pathType" />
|
||||
</aapt:attr>
|
||||
</target>
|
||||
</animated-vector>
|
||||
@@ -1,27 +0,0 @@
|
||||
<animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt">
|
||||
<aapt:attr name="android:drawable">
|
||||
<vector
|
||||
android:name="updates_enter"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:name="updates_filled"
|
||||
android:fillColor="#000000"
|
||||
android:pathData="M 23 12 L 20.56 9.22 L 20.9 5.54 L 17.29 4.72 L 15.4 1.54 L 12 3 L 8.6 1.54 L 6.71 4.72 L 3.1 5.53 L 3.44 9.21 L 1 12 L 3.44 14.78 L 3.1 18.47 L 6.71 19.29 L 8.6 22.47 L 12 21 L 15.4 22.46 L 17.29 19.28 L 20.9 18.46 L 20.56 14.78 L 23 12 Z M 9.42 19.93 L 7.99 17.52 L 5.25 16.9 L 5.51 14.1 L 3.66 12 L 5.51 9.88 L 5.25 7.1 L 7.99 6.49 L 9.42 4.08 L 12 5.18 L 14.58 4.07 L 16.01 6.48 L 18.75 7.1 L 18.49 9.89 L 20.34 12 L 18.49 14.11 L 18.49 14.11 L 18.75 16.9 L 16.01 17.52 L 14.58 19.93 L 12 18.82 L 9.42 19.93 M 11 15 L 13 15 L 13 15.5 L 13 16 L 13 17 L 11 17 L 11 15 M 11 7 L 13 7 L 13 13 L 11 13 L 11 7" />
|
||||
</vector>
|
||||
</aapt:attr>
|
||||
<target android:name="updates_filled">
|
||||
<aapt:attr name="android:animation">
|
||||
<objectAnimator
|
||||
android:duration="300"
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:propertyName="pathData"
|
||||
android:valueFrom="M 23 12 L 20.56 9.22 L 20.9 5.54 L 17.29 4.72 L 15.4 1.54 L 12 3 L 8.6 1.54 L 6.71 4.72 L 3.1 5.53 L 3.44 9.21 L 1 12 L 3.44 14.78 L 3.1 18.47 L 6.71 19.29 L 8.6 22.47 L 12 21 L 15.4 22.46 L 17.29 19.28 L 20.9 18.46 L 20.56 14.78 L 23 12 Z M 9.42 19.93 L 7.99 17.52 L 5.25 16.9 L 5.51 14.1 L 3.66 12 L 5.51 9.88 L 5.25 7.1 L 7.99 6.49 L 9.42 4.08 L 12 5.18 L 14.58 4.07 L 16.01 6.48 L 18.75 7.1 L 18.49 9.89 L 20.34 12 L 18.49 14.11 L 18.49 14.11 L 18.75 16.9 L 16.01 17.52 L 14.58 19.93 L 12 18.82 L 9.42 19.93 M 11 15 L 13 15 L 13 15.5 L 13 16 L 13 17 L 11 17 L 11 15 M 11 7 L 13 7 L 13 13 L 11 13 L 11 7"
|
||||
android:valueTo="M 23 12 L 20.56 9.22 L 20.9 5.54 L 17.29 4.72 L 15.4 1.54 L 12 3 L 8.6 1.54 L 6.71 4.72 L 3.1 5.53 L 3.44 9.21 L 1 12 L 3.44 14.78 L 3.1 18.47 L 6.71 19.29 L 8.6 22.47 L 12 21 L 15.4 22.46 L 17.29 19.28 L 20.9 18.46 L 20.56 14.78 L 23 12 Z M 12 13 L 11.5 13 L 11 13 L 11 12 L 11 11 L 11 10 L 11 9 L 11 8 L 11 7 L 12 7 L 13 7 L 13 7.857 L 13 8.714 L 13 9.571 L 13 10.429 L 13 11.286 L 13 12.143 L 13 13 L 13 13 L 13 13 L 12.5 13 L 12 13 M 11 15 L 13 15 L 13 16.058 L 13 17 L 13 17 L 11 17 L 11 15 M 12 10 L 12 10 L 12 10 L 12 10 L 12 10"
|
||||
android:valueType="pathType" />
|
||||
</aapt:attr>
|
||||
</target>
|
||||
</animated-vector>
|
||||
@@ -0,0 +1,47 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt">
|
||||
<aapt:attr name="android:drawable">
|
||||
<vector
|
||||
android:name="browse_enter"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="960"
|
||||
android:viewportHeight="960">
|
||||
<group android:translateY="960">
|
||||
<group
|
||||
android:name="spin"
|
||||
android:pivotX="480"
|
||||
android:pivotY="-480">
|
||||
<path
|
||||
android:name="icon"
|
||||
android:fillColor="#000000"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M 335 -310 L 537 -368 Q 557 -374 571.5 -388.5 Q 586 -403 592 -423 L 650 -625 Q 653 -636 644.5 -644.5 Q 636 -653 625 -650 L 423 -592 Q 403 -586 388.5 -571.5 Q 374 -557 368 -537 L 310 -335 Q 307 -324 315.5 -315.5 Q 324 -307 335 -310 Z M 480 -420 Q 455 -420 437.5 -437.5 Q 420 -455 420 -480 Q 420 -505 437.5 -522.5 Q 455 -540 480 -540 Q 505 -540 522.5 -522.5 Q 540 -505 540 -480 Q 540 -455 522.5 -437.5 Q 505 -420 480 -420 Z M 480 -80 Q 397 -80 324 -111.5 Q 251 -143 197 -197 Q 143 -251 111.5 -324 Q 80 -397 80 -480 Q 80 -563 111.5 -636 Q 143 -709 197 -763 Q 251 -817 324 -848.5 Q 397 -880 480 -880 Q 563 -880 636 -848.5 Q 709 -817 763 -763 Q 817 -709 848.5 -636 Q 880 -563 880 -480 Q 880 -397 848.5 -324 Q 817 -251 763 -197 Q 709 -143 636 -111.5 Q 563 -80 480 -80 Z M 706.5 -706.5 L 718.09 -694.35 L 729.08 -681.66 L 739.43 -668.44 L 749.07 -654.7 L 757.95 -640.46 L 766.05 -625.75 L 773.3 -610.62 L 779.7 -595.1 L 785.21 -579.24 L 789.84 -563.11 L 793.57 -546.74 L 796.43 -530.2 L 798.44 -513.53 L 799.61 -496.79 L 800 -480 L 799.61 -463.21 L 798.44 -446.47 L 796.43 -429.8 L 793.57 -413.26 L 789.84 -396.89 L 785.21 -380.76 L 779.7 -364.9 L 773.3 -349.38 L 766.05 -334.25 L 757.95 -319.54 L 749.07 -305.3 L 739.43 -291.56 L 729.08 -278.34 L 718.09 -265.65 L 706.5 -253.5 L 694.35 -241.91 L 681.66 -230.92 L 668.44 -220.57 L 654.7 -210.93 L 640.46 -202.05 L 625.75 -193.95 L 610.62 -186.7 L 595.1 -180.3 L 579.24 -174.79 L 563.11 -170.16 L 546.74 -166.43 L 530.2 -163.57 L 513.53 -161.56 L 496.79 -160.39 L 480 -160 L 463.21 -160.39 L 446.47 -161.56 L 429.8 -163.57 L 413.26 -166.43 L 396.89 -170.16 L 380.76 -174.79 L 364.9 -180.3 L 349.38 -186.7 L 334.25 -193.95 L 319.54 -202.05 L 305.3 -210.93 L 291.56 -220.57 L 278.34 -230.92 L 265.65 -241.91 L 253.5 -253.5 L 241.91 -265.65 L 230.92 -278.34 L 220.57 -291.56 L 210.93 -305.3 L 202.05 -319.54 L 193.95 -334.25 L 186.7 -349.38 L 180.3 -364.9 L 174.79 -380.76 L 170.16 -396.89 L 166.43 -413.26 L 163.57 -429.8 L 161.56 -446.47 L 160.39 -463.21 L 160 -480 L 160.39 -496.79 L 161.56 -513.53 L 163.57 -530.2 L 166.43 -546.74 L 170.16 -563.11 L 174.79 -579.24 L 180.3 -595.1 L 186.7 -610.62 L 193.95 -625.75 L 202.05 -640.46 L 210.93 -654.7 L 220.57 -668.44 L 230.92 -681.66 L 241.91 -694.35 L 253.5 -706.5 L 265.65 -718.09 L 278.34 -729.08 L 291.56 -739.43 L 305.3 -749.07 L 319.54 -757.95 L 334.25 -766.05 L 349.38 -773.3 L 364.9 -779.7 L 380.76 -785.21 L 396.89 -789.84 L 413.26 -793.57 L 429.8 -796.43 L 446.47 -798.44 L 463.21 -799.61 L 480 -800 L 496.79 -799.61 L 513.53 -798.44 L 530.2 -796.43 L 546.74 -793.57 L 563.11 -789.84 L 579.24 -785.21 L 595.1 -779.7 L 610.62 -773.3 L 625.75 -766.05 L 640.46 -757.95 L 654.7 -749.07 L 668.44 -739.43 L 681.66 -729.08 L 694.35 -718.09 Z M 480 -480 Z" />
|
||||
</group>
|
||||
</group>
|
||||
</vector>
|
||||
</aapt:attr>
|
||||
<target android:name="icon">
|
||||
<aapt:attr name="android:animation">
|
||||
<objectAnimator
|
||||
android:duration="300"
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:propertyName="pathData"
|
||||
android:valueFrom="M 335 -310 L 537 -368 Q 557 -374 571.5 -388.5 Q 586 -403 592 -423 L 650 -625 Q 653 -636 644.5 -644.5 Q 636 -653 625 -650 L 423 -592 Q 403 -586 388.5 -571.5 Q 374 -557 368 -537 L 310 -335 Q 307 -324 315.5 -315.5 Q 324 -307 335 -310 Z M 480 -420 Q 455 -420 437.5 -437.5 Q 420 -455 420 -480 Q 420 -505 437.5 -522.5 Q 455 -540 480 -540 Q 505 -540 522.5 -522.5 Q 540 -505 540 -480 Q 540 -455 522.5 -437.5 Q 505 -420 480 -420 Z M 480 -80 Q 397 -80 324 -111.5 Q 251 -143 197 -197 Q 143 -251 111.5 -324 Q 80 -397 80 -480 Q 80 -563 111.5 -636 Q 143 -709 197 -763 Q 251 -817 324 -848.5 Q 397 -880 480 -880 Q 563 -880 636 -848.5 Q 709 -817 763 -763 Q 817 -709 848.5 -636 Q 880 -563 880 -480 Q 880 -397 848.5 -324 Q 817 -251 763 -197 Q 709 -143 636 -111.5 Q 563 -80 480 -80 Z M 706.5 -706.5 L 718.09 -694.35 L 729.08 -681.66 L 739.43 -668.44 L 749.07 -654.7 L 757.95 -640.46 L 766.05 -625.75 L 773.3 -610.62 L 779.7 -595.1 L 785.21 -579.24 L 789.84 -563.11 L 793.57 -546.74 L 796.43 -530.2 L 798.44 -513.53 L 799.61 -496.79 L 800 -480 L 799.61 -463.21 L 798.44 -446.47 L 796.43 -429.8 L 793.57 -413.26 L 789.84 -396.89 L 785.21 -380.76 L 779.7 -364.9 L 773.3 -349.38 L 766.05 -334.25 L 757.95 -319.54 L 749.07 -305.3 L 739.43 -291.56 L 729.08 -278.34 L 718.09 -265.65 L 706.5 -253.5 L 694.35 -241.91 L 681.66 -230.92 L 668.44 -220.57 L 654.7 -210.93 L 640.46 -202.05 L 625.75 -193.95 L 610.62 -186.7 L 595.1 -180.3 L 579.24 -174.79 L 563.11 -170.16 L 546.74 -166.43 L 530.2 -163.57 L 513.53 -161.56 L 496.79 -160.39 L 480 -160 L 463.21 -160.39 L 446.47 -161.56 L 429.8 -163.57 L 413.26 -166.43 L 396.89 -170.16 L 380.76 -174.79 L 364.9 -180.3 L 349.38 -186.7 L 334.25 -193.95 L 319.54 -202.05 L 305.3 -210.93 L 291.56 -220.57 L 278.34 -230.92 L 265.65 -241.91 L 253.5 -253.5 L 241.91 -265.65 L 230.92 -278.34 L 220.57 -291.56 L 210.93 -305.3 L 202.05 -319.54 L 193.95 -334.25 L 186.7 -349.38 L 180.3 -364.9 L 174.79 -380.76 L 170.16 -396.89 L 166.43 -413.26 L 163.57 -429.8 L 161.56 -446.47 L 160.39 -463.21 L 160 -480 L 160.39 -496.79 L 161.56 -513.53 L 163.57 -530.2 L 166.43 -546.74 L 170.16 -563.11 L 174.79 -579.24 L 180.3 -595.1 L 186.7 -610.62 L 193.95 -625.75 L 202.05 -640.46 L 210.93 -654.7 L 220.57 -668.44 L 230.92 -681.66 L 241.91 -694.35 L 253.5 -706.5 L 265.65 -718.09 L 278.34 -729.08 L 291.56 -739.43 L 305.3 -749.07 L 319.54 -757.95 L 334.25 -766.05 L 349.38 -773.3 L 364.9 -779.7 L 380.76 -785.21 L 396.89 -789.84 L 413.26 -793.57 L 429.8 -796.43 L 446.47 -798.44 L 463.21 -799.61 L 480 -800 L 496.79 -799.61 L 513.53 -798.44 L 530.2 -796.43 L 546.74 -793.57 L 563.11 -789.84 L 579.24 -785.21 L 595.1 -779.7 L 610.62 -773.3 L 625.75 -766.05 L 640.46 -757.95 L 654.7 -749.07 L 668.44 -739.43 L 681.66 -729.08 L 694.35 -718.09 Z M 480 -480 Z"
|
||||
android:valueTo="M 480 -480 L 480 -480 Q 480 -480 480 -480 Q 480 -480 480 -480 L 480 -480 Q 480 -480 480 -480 Q 480 -480 480 -480 L 480 -480 Q 480 -480 480 -480 Q 480 -480 480 -480 L 480 -480 Q 480 -480 480 -480 Q 480 -480 480 -480 Z M 480 -420 Q 455 -420 437.5 -437.5 Q 420 -455 420 -480 Q 420 -505 437.5 -522.5 Q 455 -540 480 -540 Q 505 -540 522.5 -522.5 Q 540 -505 540 -480 Q 540 -455 522.5 -437.5 Q 505 -420 480 -420 Z M 480 -80 Q 397 -80 324 -111.5 Q 251 -143 197 -197 Q 143 -251 111.5 -324 Q 80 -397 80 -480 Q 80 -563 111.5 -636 Q 143 -709 197 -763 Q 251 -817 324 -848.5 Q 397 -880 480 -880 Q 563 -880 636 -848.5 Q 709 -817 763 -763 Q 817 -709 848.5 -636 Q 880 -563 880 -480 Q 880 -397 848.5 -324 Q 817 -251 763 -197 Q 709 -143 636 -111.5 Q 563 -80 480 -80 Z M 644.5 -644.5 L 649.53 -637.03 L 650.6 -628.13 L 648.38 -619.35 L 645.88 -610.64 L 643.37 -601.92 L 640.87 -593.21 L 638.37 -584.49 L 635.87 -575.78 L 633.36 -567.06 L 630.86 -558.34 L 628.36 -549.63 L 625.86 -540.91 L 623.35 -532.2 L 620.85 -523.48 L 618.35 -514.77 L 615.85 -506.05 L 613.34 -497.33 L 610.84 -488.62 L 608.34 -479.9 L 605.84 -471.19 L 603.33 -462.47 L 600.83 -453.75 L 598.33 -445.04 L 595.83 -436.32 L 593.32 -427.61 L 590.65 -418.94 L 587.16 -410.58 L 582.78 -402.65 L 577.53 -395.27 L 571.5 -388.5 L 564.73 -382.47 L 557.35 -377.22 L 549.42 -372.84 L 541.06 -369.35 L 532.39 -366.68 L 523.68 -364.17 L 514.96 -361.67 L 506.25 -359.17 L 497.53 -356.67 L 488.81 -354.16 L 480.1 -351.66 L 471.38 -349.16 L 462.67 -346.66 L 453.95 -344.15 L 445.23 -341.65 L 436.52 -339.15 L 427.8 -336.65 L 419.09 -334.14 L 410.37 -331.64 L 401.66 -329.14 L 392.94 -326.64 L 384.22 -324.13 L 375.51 -321.63 L 366.79 -319.13 L 358.08 -316.63 L 349.36 -314.12 L 340.65 -311.62 L 331.87 -309.4 L 322.97 -310.47 L 315.5 -315.5 L 310.47 -322.97 L 309.4 -331.87 L 311.62 -340.65 L 314.12 -349.36 L 316.63 -358.08 L 319.13 -366.79 L 321.63 -375.51 L 324.13 -384.22 L 326.64 -392.94 L 329.14 -401.66 L 331.64 -410.37 L 334.14 -419.09 L 336.65 -427.8 L 339.15 -436.52 L 341.65 -445.23 L 344.15 -453.95 L 346.66 -462.67 L 349.16 -471.38 L 351.66 -480.1 L 354.16 -488.81 L 356.67 -497.53 L 359.17 -506.25 L 361.67 -514.96 L 364.17 -523.68 L 366.68 -532.39 L 369.35 -541.06 L 372.84 -549.42 L 377.22 -557.35 L 382.47 -564.73 L 388.5 -571.5 L 395.27 -577.53 L 402.65 -582.78 L 410.58 -587.16 L 418.94 -590.65 L 427.61 -593.32 L 436.32 -595.83 L 445.04 -598.33 L 453.75 -600.83 L 462.47 -603.33 L 471.19 -605.84 L 479.9 -608.34 L 488.62 -610.84 L 497.33 -613.34 L 506.05 -615.85 L 514.77 -618.35 L 523.48 -620.85 L 532.2 -623.35 L 540.91 -625.86 L 549.63 -628.36 L 558.34 -630.86 L 567.06 -633.36 L 575.78 -635.87 L 584.49 -638.37 L 593.21 -640.87 L 601.92 -643.37 L 610.64 -645.88 L 619.35 -648.38 L 628.13 -650.6 L 637.03 -649.53 Z M 480 -480 Z"
|
||||
android:valueType="pathType" />
|
||||
</aapt:attr>
|
||||
</target>
|
||||
<target android:name="spin">
|
||||
<aapt:attr name="android:animation">
|
||||
<objectAnimator
|
||||
android:duration="600"
|
||||
android:interpolator="@android:anim/overshoot_interpolator"
|
||||
android:propertyName="rotation"
|
||||
android:valueFrom="-360"
|
||||
android:valueTo="0"
|
||||
android:valueType="floatType" />
|
||||
</aapt:attr>
|
||||
</target>
|
||||
</animated-vector>
|
||||
@@ -0,0 +1,47 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt">
|
||||
<aapt:attr name="android:drawable">
|
||||
<vector
|
||||
android:name="browse_exit"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="960"
|
||||
android:viewportHeight="960">
|
||||
<group android:translateY="960">
|
||||
<group
|
||||
android:name="spin"
|
||||
android:pivotX="480"
|
||||
android:pivotY="-480">
|
||||
<path
|
||||
android:name="icon"
|
||||
android:fillColor="#000000"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M 480 -480 L 480 -480 Q 480 -480 480 -480 Q 480 -480 480 -480 L 480 -480 Q 480 -480 480 -480 Q 480 -480 480 -480 L 480 -480 Q 480 -480 480 -480 Q 480 -480 480 -480 L 480 -480 Q 480 -480 480 -480 Q 480 -480 480 -480 Z M 480 -420 Q 455 -420 437.5 -437.5 Q 420 -455 420 -480 Q 420 -505 437.5 -522.5 Q 455 -540 480 -540 Q 505 -540 522.5 -522.5 Q 540 -505 540 -480 Q 540 -455 522.5 -437.5 Q 505 -420 480 -420 Z M 480 -80 Q 397 -80 324 -111.5 Q 251 -143 197 -197 Q 143 -251 111.5 -324 Q 80 -397 80 -480 Q 80 -563 111.5 -636 Q 143 -709 197 -763 Q 251 -817 324 -848.5 Q 397 -880 480 -880 Q 563 -880 636 -848.5 Q 709 -817 763 -763 Q 817 -709 848.5 -636 Q 880 -563 880 -480 Q 880 -397 848.5 -324 Q 817 -251 763 -197 Q 709 -143 636 -111.5 Q 563 -80 480 -80 Z M 644.5 -644.5 L 649.53 -637.03 L 650.6 -628.13 L 648.38 -619.35 L 645.88 -610.64 L 643.37 -601.92 L 640.87 -593.21 L 638.37 -584.49 L 635.87 -575.78 L 633.36 -567.06 L 630.86 -558.34 L 628.36 -549.63 L 625.86 -540.91 L 623.35 -532.2 L 620.85 -523.48 L 618.35 -514.77 L 615.85 -506.05 L 613.34 -497.33 L 610.84 -488.62 L 608.34 -479.9 L 605.84 -471.19 L 603.33 -462.47 L 600.83 -453.75 L 598.33 -445.04 L 595.83 -436.32 L 593.32 -427.61 L 590.65 -418.94 L 587.16 -410.58 L 582.78 -402.65 L 577.53 -395.27 L 571.5 -388.5 L 564.73 -382.47 L 557.35 -377.22 L 549.42 -372.84 L 541.06 -369.35 L 532.39 -366.68 L 523.68 -364.17 L 514.96 -361.67 L 506.25 -359.17 L 497.53 -356.67 L 488.81 -354.16 L 480.1 -351.66 L 471.38 -349.16 L 462.67 -346.66 L 453.95 -344.15 L 445.23 -341.65 L 436.52 -339.15 L 427.8 -336.65 L 419.09 -334.14 L 410.37 -331.64 L 401.66 -329.14 L 392.94 -326.64 L 384.22 -324.13 L 375.51 -321.63 L 366.79 -319.13 L 358.08 -316.63 L 349.36 -314.12 L 340.65 -311.62 L 331.87 -309.4 L 322.97 -310.47 L 315.5 -315.5 L 310.47 -322.97 L 309.4 -331.87 L 311.62 -340.65 L 314.12 -349.36 L 316.63 -358.08 L 319.13 -366.79 L 321.63 -375.51 L 324.13 -384.22 L 326.64 -392.94 L 329.14 -401.66 L 331.64 -410.37 L 334.14 -419.09 L 336.65 -427.8 L 339.15 -436.52 L 341.65 -445.23 L 344.15 -453.95 L 346.66 -462.67 L 349.16 -471.38 L 351.66 -480.1 L 354.16 -488.81 L 356.67 -497.53 L 359.17 -506.25 L 361.67 -514.96 L 364.17 -523.68 L 366.68 -532.39 L 369.35 -541.06 L 372.84 -549.42 L 377.22 -557.35 L 382.47 -564.73 L 388.5 -571.5 L 395.27 -577.53 L 402.65 -582.78 L 410.58 -587.16 L 418.94 -590.65 L 427.61 -593.32 L 436.32 -595.83 L 445.04 -598.33 L 453.75 -600.83 L 462.47 -603.33 L 471.19 -605.84 L 479.9 -608.34 L 488.62 -610.84 L 497.33 -613.34 L 506.05 -615.85 L 514.77 -618.35 L 523.48 -620.85 L 532.2 -623.35 L 540.91 -625.86 L 549.63 -628.36 L 558.34 -630.86 L 567.06 -633.36 L 575.78 -635.87 L 584.49 -638.37 L 593.21 -640.87 L 601.92 -643.37 L 610.64 -645.88 L 619.35 -648.38 L 628.13 -650.6 L 637.03 -649.53 Z M 480 -480 Z" />
|
||||
</group>
|
||||
</group>
|
||||
</vector>
|
||||
</aapt:attr>
|
||||
<target android:name="icon">
|
||||
<aapt:attr name="android:animation">
|
||||
<objectAnimator
|
||||
android:duration="300"
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:propertyName="pathData"
|
||||
android:valueFrom="M 480 -480 L 480 -480 Q 480 -480 480 -480 Q 480 -480 480 -480 L 480 -480 Q 480 -480 480 -480 Q 480 -480 480 -480 L 480 -480 Q 480 -480 480 -480 Q 480 -480 480 -480 L 480 -480 Q 480 -480 480 -480 Q 480 -480 480 -480 Z M 480 -420 Q 455 -420 437.5 -437.5 Q 420 -455 420 -480 Q 420 -505 437.5 -522.5 Q 455 -540 480 -540 Q 505 -540 522.5 -522.5 Q 540 -505 540 -480 Q 540 -455 522.5 -437.5 Q 505 -420 480 -420 Z M 480 -80 Q 397 -80 324 -111.5 Q 251 -143 197 -197 Q 143 -251 111.5 -324 Q 80 -397 80 -480 Q 80 -563 111.5 -636 Q 143 -709 197 -763 Q 251 -817 324 -848.5 Q 397 -880 480 -880 Q 563 -880 636 -848.5 Q 709 -817 763 -763 Q 817 -709 848.5 -636 Q 880 -563 880 -480 Q 880 -397 848.5 -324 Q 817 -251 763 -197 Q 709 -143 636 -111.5 Q 563 -80 480 -80 Z M 644.5 -644.5 L 649.53 -637.03 L 650.6 -628.13 L 648.38 -619.35 L 645.88 -610.64 L 643.37 -601.92 L 640.87 -593.21 L 638.37 -584.49 L 635.87 -575.78 L 633.36 -567.06 L 630.86 -558.34 L 628.36 -549.63 L 625.86 -540.91 L 623.35 -532.2 L 620.85 -523.48 L 618.35 -514.77 L 615.85 -506.05 L 613.34 -497.33 L 610.84 -488.62 L 608.34 -479.9 L 605.84 -471.19 L 603.33 -462.47 L 600.83 -453.75 L 598.33 -445.04 L 595.83 -436.32 L 593.32 -427.61 L 590.65 -418.94 L 587.16 -410.58 L 582.78 -402.65 L 577.53 -395.27 L 571.5 -388.5 L 564.73 -382.47 L 557.35 -377.22 L 549.42 -372.84 L 541.06 -369.35 L 532.39 -366.68 L 523.68 -364.17 L 514.96 -361.67 L 506.25 -359.17 L 497.53 -356.67 L 488.81 -354.16 L 480.1 -351.66 L 471.38 -349.16 L 462.67 -346.66 L 453.95 -344.15 L 445.23 -341.65 L 436.52 -339.15 L 427.8 -336.65 L 419.09 -334.14 L 410.37 -331.64 L 401.66 -329.14 L 392.94 -326.64 L 384.22 -324.13 L 375.51 -321.63 L 366.79 -319.13 L 358.08 -316.63 L 349.36 -314.12 L 340.65 -311.62 L 331.87 -309.4 L 322.97 -310.47 L 315.5 -315.5 L 310.47 -322.97 L 309.4 -331.87 L 311.62 -340.65 L 314.12 -349.36 L 316.63 -358.08 L 319.13 -366.79 L 321.63 -375.51 L 324.13 -384.22 L 326.64 -392.94 L 329.14 -401.66 L 331.64 -410.37 L 334.14 -419.09 L 336.65 -427.8 L 339.15 -436.52 L 341.65 -445.23 L 344.15 -453.95 L 346.66 -462.67 L 349.16 -471.38 L 351.66 -480.1 L 354.16 -488.81 L 356.67 -497.53 L 359.17 -506.25 L 361.67 -514.96 L 364.17 -523.68 L 366.68 -532.39 L 369.35 -541.06 L 372.84 -549.42 L 377.22 -557.35 L 382.47 -564.73 L 388.5 -571.5 L 395.27 -577.53 L 402.65 -582.78 L 410.58 -587.16 L 418.94 -590.65 L 427.61 -593.32 L 436.32 -595.83 L 445.04 -598.33 L 453.75 -600.83 L 462.47 -603.33 L 471.19 -605.84 L 479.9 -608.34 L 488.62 -610.84 L 497.33 -613.34 L 506.05 -615.85 L 514.77 -618.35 L 523.48 -620.85 L 532.2 -623.35 L 540.91 -625.86 L 549.63 -628.36 L 558.34 -630.86 L 567.06 -633.36 L 575.78 -635.87 L 584.49 -638.37 L 593.21 -640.87 L 601.92 -643.37 L 610.64 -645.88 L 619.35 -648.38 L 628.13 -650.6 L 637.03 -649.53 Z M 480 -480 Z"
|
||||
android:valueTo="M 335 -310 L 537 -368 Q 557 -374 571.5 -388.5 Q 586 -403 592 -423 L 650 -625 Q 653 -636 644.5 -644.5 Q 636 -653 625 -650 L 423 -592 Q 403 -586 388.5 -571.5 Q 374 -557 368 -537 L 310 -335 Q 307 -324 315.5 -315.5 Q 324 -307 335 -310 Z M 480 -420 Q 455 -420 437.5 -437.5 Q 420 -455 420 -480 Q 420 -505 437.5 -522.5 Q 455 -540 480 -540 Q 505 -540 522.5 -522.5 Q 540 -505 540 -480 Q 540 -455 522.5 -437.5 Q 505 -420 480 -420 Z M 480 -80 Q 397 -80 324 -111.5 Q 251 -143 197 -197 Q 143 -251 111.5 -324 Q 80 -397 80 -480 Q 80 -563 111.5 -636 Q 143 -709 197 -763 Q 251 -817 324 -848.5 Q 397 -880 480 -880 Q 563 -880 636 -848.5 Q 709 -817 763 -763 Q 817 -709 848.5 -636 Q 880 -563 880 -480 Q 880 -397 848.5 -324 Q 817 -251 763 -197 Q 709 -143 636 -111.5 Q 563 -80 480 -80 Z M 706.5 -706.5 L 718.09 -694.35 L 729.08 -681.66 L 739.43 -668.44 L 749.07 -654.7 L 757.95 -640.46 L 766.05 -625.75 L 773.3 -610.62 L 779.7 -595.1 L 785.21 -579.24 L 789.84 -563.11 L 793.57 -546.74 L 796.43 -530.2 L 798.44 -513.53 L 799.61 -496.79 L 800 -480 L 799.61 -463.21 L 798.44 -446.47 L 796.43 -429.8 L 793.57 -413.26 L 789.84 -396.89 L 785.21 -380.76 L 779.7 -364.9 L 773.3 -349.38 L 766.05 -334.25 L 757.95 -319.54 L 749.07 -305.3 L 739.43 -291.56 L 729.08 -278.34 L 718.09 -265.65 L 706.5 -253.5 L 694.35 -241.91 L 681.66 -230.92 L 668.44 -220.57 L 654.7 -210.93 L 640.46 -202.05 L 625.75 -193.95 L 610.62 -186.7 L 595.1 -180.3 L 579.24 -174.79 L 563.11 -170.16 L 546.74 -166.43 L 530.2 -163.57 L 513.53 -161.56 L 496.79 -160.39 L 480 -160 L 463.21 -160.39 L 446.47 -161.56 L 429.8 -163.57 L 413.26 -166.43 L 396.89 -170.16 L 380.76 -174.79 L 364.9 -180.3 L 349.38 -186.7 L 334.25 -193.95 L 319.54 -202.05 L 305.3 -210.93 L 291.56 -220.57 L 278.34 -230.92 L 265.65 -241.91 L 253.5 -253.5 L 241.91 -265.65 L 230.92 -278.34 L 220.57 -291.56 L 210.93 -305.3 L 202.05 -319.54 L 193.95 -334.25 L 186.7 -349.38 L 180.3 -364.9 L 174.79 -380.76 L 170.16 -396.89 L 166.43 -413.26 L 163.57 -429.8 L 161.56 -446.47 L 160.39 -463.21 L 160 -480 L 160.39 -496.79 L 161.56 -513.53 L 163.57 -530.2 L 166.43 -546.74 L 170.16 -563.11 L 174.79 -579.24 L 180.3 -595.1 L 186.7 -610.62 L 193.95 -625.75 L 202.05 -640.46 L 210.93 -654.7 L 220.57 -668.44 L 230.92 -681.66 L 241.91 -694.35 L 253.5 -706.5 L 265.65 -718.09 L 278.34 -729.08 L 291.56 -739.43 L 305.3 -749.07 L 319.54 -757.95 L 334.25 -766.05 L 349.38 -773.3 L 364.9 -779.7 L 380.76 -785.21 L 396.89 -789.84 L 413.26 -793.57 L 429.8 -796.43 L 446.47 -798.44 L 463.21 -799.61 L 480 -800 L 496.79 -799.61 L 513.53 -798.44 L 530.2 -796.43 L 546.74 -793.57 L 563.11 -789.84 L 579.24 -785.21 L 595.1 -779.7 L 610.62 -773.3 L 625.75 -766.05 L 640.46 -757.95 L 654.7 -749.07 L 668.44 -739.43 L 681.66 -729.08 L 694.35 -718.09 Z M 480 -480 Z"
|
||||
android:valueType="pathType" />
|
||||
</aapt:attr>
|
||||
</target>
|
||||
<target android:name="spin">
|
||||
<aapt:attr name="android:animation">
|
||||
<objectAnimator
|
||||
android:duration="600"
|
||||
android:interpolator="@android:anim/overshoot_interpolator"
|
||||
android:propertyName="rotation"
|
||||
android:valueFrom="-360"
|
||||
android:valueTo="0"
|
||||
android:valueType="floatType" />
|
||||
</aapt:attr>
|
||||
</target>
|
||||
</animated-vector>
|
||||
@@ -25,7 +25,7 @@
|
||||
<path
|
||||
android:name="caret_l_rect"
|
||||
android:fillColor="#000"
|
||||
android:pathData="M -1.0,-4.0 l 2.0,0.0 c 0.0,0.0 0.0,0.0 0.0,0.0 l 0.0,8.0 c 0.0,0.0 0.0,0.0 0.0,0.0 l -2.0,0.0 c 0.0,0.0 0.0,0.0 0.0,0.0 l 0.0,-8.0 c 0.0,0.0 0.0,0.0 0.0,0.0 Z" />
|
||||
android:pathData="M -1,-3 A 1,1 0 0 1 1,-3 L 1,3 A 1,1 0 0 1 -1,3 Z" />
|
||||
</group>
|
||||
</group>
|
||||
</group>
|
||||
@@ -41,7 +41,7 @@
|
||||
<path
|
||||
android:name="caret_r_rect"
|
||||
android:fillColor="#000"
|
||||
android:pathData="M -1.0,-4.0 l 2.0,0.0 c 0.0,0.0 0.0,0.0 0.0,0.0 l 0.0,8.0 c 0.0,0.0 0.0,0.0 0.0,0.0 l -2.0,0.0 c 0.0,0.0 0.0,0.0 0.0,0.0 l 0.0,-8.0 c 0.0,0.0 0.0,0.0 0.0,0.0 Z" />
|
||||
android:pathData="M -1,-3 A 1,1 0 0 1 1,-3 L 1,3 A 1,1 0 0 1 -1,3 Z" />
|
||||
</group>
|
||||
</group>
|
||||
</group>
|
||||
@@ -0,0 +1,39 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt">
|
||||
<aapt:attr name="android:drawable">
|
||||
<vector
|
||||
android:name="history_enter"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="960"
|
||||
android:viewportHeight="960">
|
||||
<group android:translateY="960">
|
||||
<path
|
||||
android:name="hands"
|
||||
android:fillColor="#000000"
|
||||
android:pathData="M 520 -496 L 620 -396 Q 631 -385 631 -368 Q 631 -351 620 -340 Q 609 -329 592 -329 Q 575 -329 564 -340 L 452 -452 Q 446 -458 443 -465.5 Q 440 -473 440 -481 L 440 -640 Q 440 -657 451.5 -668.5 Q 463 -680 480 -680 Q 497 -680 508.5 -668.5 Q 520 -657 520 -640 L 520 -496 Z" />
|
||||
<group
|
||||
android:name="ring_group"
|
||||
android:pivotX="480"
|
||||
android:pivotY="-480">
|
||||
<path
|
||||
android:name="ring"
|
||||
android:fillColor="#000000"
|
||||
android:pathData="M 480 -120 Q 354 -120 257 -196.5 Q 160 -273 131 -392 Q 127 -407 137 -419.5 Q 147 -432 164 -434 Q 180 -436 193 -428 Q 206 -420 211 -404 Q 235 -314 310 -257 Q 385 -200 480 -200 Q 597 -200 678.5 -281.5 Q 760 -363 760 -480 Q 760 -597 678.5 -678.5 Q 597 -760 480 -760 Q 411 -760 351 -728 Q 291 -696 250 -640 L 320 -640 Q 337 -640 348.5 -628.5 Q 360 -617 360 -600 Q 360 -583 348.5 -571.5 Q 337 -560 320 -560 L 160 -560 Q 143 -560 131.5 -571.5 Q 120 -583 120 -600 L 120 -760 Q 120 -777 131.5 -788.5 Q 143 -800 160 -800 Q 177 -800 188.5 -788.5 Q 200 -777 200 -760 L 200 -706 Q 251 -770 324.5 -805 Q 398 -840 480 -840 Q 555 -840 620.5 -811.5 Q 686 -783 734.5 -734.5 Q 783 -686 811.5 -620.5 Q 840 -555 840 -480 Q 840 -405 811.5 -339.5 Q 783 -274 734.5 -225.5 Q 686 -177 620.5 -148.5 Q 555 -120 480 -120 Z" />
|
||||
</group>
|
||||
</group>
|
||||
</vector>
|
||||
</aapt:attr>
|
||||
<target android:name="ring_group">
|
||||
<aapt:attr name="android:animation">
|
||||
<objectAnimator
|
||||
android:duration="500"
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:propertyName="rotation"
|
||||
android:valueFrom="360"
|
||||
android:valueTo="0"
|
||||
android:valueType="floatType" />
|
||||
</aapt:attr>
|
||||
</target>
|
||||
</animated-vector>
|
||||
@@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt">
|
||||
<aapt:attr name="android:drawable">
|
||||
<vector
|
||||
android:name="library_enter"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="960"
|
||||
android:viewportHeight="960">
|
||||
<group android:translateY="960">
|
||||
<path
|
||||
android:name="icon"
|
||||
android:fillColor="#000000"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M 720 -800 L 740.45 -800 L 760.9 -800 L 781.36 -800 L 800 -798.19 L 800 -777.74 L 800 -757.29 L 800 -736.84 L 800 -716.39 L 800 -695.93 L 800 -675.48 L 800 -655.03 L 800 -634.58 L 800 -614.13 L 800 -593.68 L 800 -573.22 L 800 -552.77 L 800 -532.32 L 800 -511.87 L 800 -491.42 L 800 -470.97 L 800 -450.51 L 800 -430.06 L 800 -409.61 L 800 -389.16 L 800 -368.71 L 800 -348.26 L 800 -327.8 L 787.35 -320 L 766.9 -320 L 746.45 -320 L 726 -320 L 705.54 -320 L 685.09 -320 L 664.64 -320 L 644.19 -320 L 623.74 -320 L 603.29 -320 L 582.83 -320 L 562.38 -320 L 541.93 -320 L 521.48 -320 L 501.03 -320 L 480.58 -320 L 460.12 -320 L 439.67 -320 L 419.22 -320 L 398.77 -320 L 378.32 -320 L 357.87 -320 L 337.41 -320 L 320 -323.04 L 320 -343.49 L 320 -363.94 L 320 -384.39 L 320 -404.85 L 320 -425.3 L 320 -445.75 L 320 -466.2 L 320 -486.65 L 320 -507.1 L 320 -527.56 L 320 -548.01 L 320 -568.46 L 320 -588.91 L 320 -609.36 L 320 -629.81 L 320 -650.27 L 320 -670.72 L 320 -691.17 L 320 -711.62 L 320 -732.07 L 320 -752.52 L 320 -772.98 L 320 -793.43 L 333.88 -800 L 354.33 -800 L 374.78 -800 L 395.23 -800 L 415.69 -800 L 436.14 -800 L 456.59 -800 L 477.04 -800 L 497.49 -800 L 517.95 -800 L 520 -781.6 L 520 -761.15 L 520 -740.7 L 520 -720.25 L 520 -699.8 L 520 -679.34 L 520 -658.89 L 520 -638.44 L 520 -617.99 L 520 -597.54 L 520 -577.09 L 520 -556.63 L 527.46 -538.46 L 546.61 -536.17 L 564.29 -546.46 L 581.89 -556.87 L 599.49 -567.28 L 618.86 -572.96 L 638.53 -568.27 L 656.21 -558 L 673.81 -547.58 L 691.39 -537.14 L 710.63 -537.43 L 719.98 -554.58 L 720 -575.03 L 720 -595.48 L 720 -615.93 L 720 -636.39 L 720 -656.84 L 720 -677.29 L 720 -697.74 L 720 -718.19 L 720 -738.64 L 720 -759.1 L 720 -779.55 Z M 320 -240 Q 287 -240 263.5 -263.5 Q 240 -287 240 -320 L 240 -800 Q 240 -833 263.5 -856.5 Q 287 -880 320 -880 L 800 -880 Q 833 -880 856.5 -856.5 Q 880 -833 880 -800 L 880 -320 Q 880 -287 856.5 -263.5 Q 833 -240 800 -240 L 320 -240 Z M 160 -80 Q 127 -80 103.5 -103.5 Q 80 -127 80 -160 L 80 -680 Q 80 -697 91.5 -708.5 Q 103 -720 120 -720 Q 137 -720 148.5 -708.5 Q 160 -697 160 -680 L 160 -160 L 680 -160 Q 697 -160 708.5 -148.5 Q 720 -137 720 -120 Q 720 -103 708.5 -91.5 Q 697 -80 680 -80 L 160 -80 Z M 320 -800 L 320 -320 L 320 -800 Z M 520 -555 Q 520 -543 529.5 -537 Q 539 -531 550 -538 L 599 -567 Q 608 -573 619.5 -573 Q 631 -573 641 -567 L 690 -538 Q 700 -531 710 -537 Q 720 -543 720 -555 Q 720 -543 710 -537 Q 700 -531 690 -538 L 641 -567 Q 631 -573 619.5 -573 Q 608 -573 599 -567 L 550 -538 Q 539 -531 529.5 -537 Q 520 -543 520 -555 Z" />
|
||||
</group>
|
||||
</vector>
|
||||
</aapt:attr>
|
||||
<target android:name="icon">
|
||||
<aapt:attr name="android:animation">
|
||||
<objectAnimator
|
||||
android:duration="300"
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:propertyName="pathData"
|
||||
android:valueFrom="M 720 -800 L 740.45 -800 L 760.9 -800 L 781.36 -800 L 800 -798.19 L 800 -777.74 L 800 -757.29 L 800 -736.84 L 800 -716.39 L 800 -695.93 L 800 -675.48 L 800 -655.03 L 800 -634.58 L 800 -614.13 L 800 -593.68 L 800 -573.22 L 800 -552.77 L 800 -532.32 L 800 -511.87 L 800 -491.42 L 800 -470.97 L 800 -450.51 L 800 -430.06 L 800 -409.61 L 800 -389.16 L 800 -368.71 L 800 -348.26 L 800 -327.8 L 787.35 -320 L 766.9 -320 L 746.45 -320 L 726 -320 L 705.54 -320 L 685.09 -320 L 664.64 -320 L 644.19 -320 L 623.74 -320 L 603.29 -320 L 582.83 -320 L 562.38 -320 L 541.93 -320 L 521.48 -320 L 501.03 -320 L 480.58 -320 L 460.12 -320 L 439.67 -320 L 419.22 -320 L 398.77 -320 L 378.32 -320 L 357.87 -320 L 337.41 -320 L 320 -323.04 L 320 -343.49 L 320 -363.94 L 320 -384.39 L 320 -404.85 L 320 -425.3 L 320 -445.75 L 320 -466.2 L 320 -486.65 L 320 -507.1 L 320 -527.56 L 320 -548.01 L 320 -568.46 L 320 -588.91 L 320 -609.36 L 320 -629.81 L 320 -650.27 L 320 -670.72 L 320 -691.17 L 320 -711.62 L 320 -732.07 L 320 -752.52 L 320 -772.98 L 320 -793.43 L 333.88 -800 L 354.33 -800 L 374.78 -800 L 395.23 -800 L 415.69 -800 L 436.14 -800 L 456.59 -800 L 477.04 -800 L 497.49 -800 L 517.95 -800 L 520 -781.6 L 520 -761.15 L 520 -740.7 L 520 -720.25 L 520 -699.8 L 520 -679.34 L 520 -658.89 L 520 -638.44 L 520 -617.99 L 520 -597.54 L 520 -577.09 L 520 -556.63 L 527.46 -538.46 L 546.61 -536.17 L 564.29 -546.46 L 581.89 -556.87 L 599.49 -567.28 L 618.86 -572.96 L 638.53 -568.27 L 656.21 -558 L 673.81 -547.58 L 691.39 -537.14 L 710.63 -537.43 L 719.98 -554.58 L 720 -575.03 L 720 -595.48 L 720 -615.93 L 720 -636.39 L 720 -656.84 L 720 -677.29 L 720 -697.74 L 720 -718.19 L 720 -738.64 L 720 -759.1 L 720 -779.55 Z M 320 -240 Q 287 -240 263.5 -263.5 Q 240 -287 240 -320 L 240 -800 Q 240 -833 263.5 -856.5 Q 287 -880 320 -880 L 800 -880 Q 833 -880 856.5 -856.5 Q 880 -833 880 -800 L 880 -320 Q 880 -287 856.5 -263.5 Q 833 -240 800 -240 L 320 -240 Z M 160 -80 Q 127 -80 103.5 -103.5 Q 80 -127 80 -160 L 80 -680 Q 80 -697 91.5 -708.5 Q 103 -720 120 -720 Q 137 -720 148.5 -708.5 Q 160 -697 160 -680 L 160 -160 L 680 -160 Q 697 -160 708.5 -148.5 Q 720 -137 720 -120 Q 720 -103 708.5 -91.5 Q 697 -80 680 -80 L 160 -80 Z M 320 -800 L 320 -320 L 320 -800 Z M 520 -555 Q 520 -543 529.5 -537 Q 539 -531 550 -538 L 599 -567 Q 608 -573 619.5 -573 Q 631 -573 641 -567 L 690 -538 Q 700 -531 710 -537 Q 720 -543 720 -555 Q 720 -543 710 -537 Q 700 -531 690 -538 L 641 -567 Q 631 -573 619.5 -573 Q 608 -573 599 -567 L 550 -538 Q 539 -531 529.5 -537 Q 520 -543 520 -555 Z"
|
||||
android:valueTo="M 720 -800 L 720 -792.22 L 720 -784.44 L 720 -776.66 L 720 -768.88 L 720 -761.1 L 720 -753.31 L 720 -745.53 L 720 -737.75 L 720 -729.97 L 720 -722.19 L 720 -714.41 L 720 -706.63 L 720 -698.85 L 720 -691.07 L 720 -683.29 L 720 -675.51 L 720 -667.72 L 720 -659.94 L 720 -652.16 L 720 -644.38 L 720 -636.6 L 720 -628.82 L 720 -621.04 L 720 -613.26 L 720 -605.48 L 720 -597.7 L 720 -589.92 L 720 -582.13 L 720 -574.35 L 720 -566.57 L 720 -558.79 L 719.66 -551.03 L 716.95 -543.81 L 711.44 -538.41 L 704.34 -535.34 L 696.64 -535.33 L 689.49 -538.31 L 682.86 -542.37 L 676.22 -546.44 L 669.59 -550.5 L 662.95 -554.56 L 656.31 -558.62 L 649.68 -562.69 L 643.04 -566.75 L 636.22 -570.48 L 628.84 -572.9 L 621.15 -573.92 L 613.41 -573.38 L 605.93 -571.3 L 598.92 -567.95 L 592.29 -563.89 L 585.65 -559.83 L 579.01 -555.76 L 572.38 -551.7 L 565.74 -547.64 L 559.11 -543.58 L 552.47 -539.51 L 545.58 -535.94 L 537.93 -534.97 L 530.54 -537.24 L 524.43 -541.97 L 520.82 -548.78 L 520 -556.49 L 520 -564.27 L 520 -572.05 L 520 -579.83 L 520 -587.61 L 520 -595.39 L 520 -603.17 L 520 -610.95 L 520 -618.73 L 520 -626.52 L 520 -634.3 L 520 -642.08 L 520 -649.86 L 520 -657.64 L 520 -665.42 L 520 -673.2 L 520 -680.98 L 520 -688.76 L 520 -696.54 L 520 -704.33 L 520 -712.11 L 520 -719.89 L 520 -727.67 L 520 -735.45 L 520 -743.23 L 520 -751.01 L 520 -758.79 L 520 -766.57 L 520 -774.35 L 520 -782.13 L 520 -789.92 L 520 -797.7 L 525.48 -800 L 533.26 -800 L 541.04 -800 L 548.82 -800 L 556.6 -800 L 564.38 -800 L 572.16 -800 L 579.94 -800 L 587.72 -800 L 595.51 -800 L 603.29 -800 L 611.07 -800 L 618.85 -800 L 626.63 -800 L 634.41 -800 L 642.19 -800 L 649.97 -800 L 657.75 -800 L 665.53 -800 L 673.31 -800 L 681.1 -800 L 688.88 -800 L 696.66 -800 L 704.44 -800 L 712.22 -800 Z M 320 -240 Q 287 -240 263.5 -263.5 Q 240 -287 240 -320 L 240 -800 Q 240 -833 263.5 -856.5 Q 287 -880 320 -880 L 800 -880 Q 833 -880 856.5 -856.5 Q 880 -833 880 -800 L 880 -320 Q 880 -287 856.5 -263.5 Q 833 -240 800 -240 L 320 -240 Z M 160 -80 Q 127 -80 103.5 -103.5 Q 80 -127 80 -160 L 80 -680 Q 80 -697 91.5 -708.5 Q 103 -720 120 -720 Q 137 -720 148.5 -708.5 Q 160 -697 160 -680 L 160 -160 L 680 -160 Q 697 -160 708.5 -148.5 Q 720 -137 720 -120 Q 720 -103 708.5 -91.5 Q 697 -80 680 -80 L 160 -80 Z M 320 -800 L 320 -320 L 320 -800 Z M 520 -555 Q 520 -543 529.5 -537 Q 539 -531 550 -538 L 599 -567 Q 608 -573 619.5 -573 Q 631 -573 641 -567 L 690 -538 Q 700 -531 710 -537 Q 720 -543 720 -555 Q 720 -543 710 -537 Q 700 -531 690 -538 L 641 -567 Q 631 -573 619.5 -573 Q 608 -573 599 -567 L 550 -538 Q 539 -531 529.5 -537 Q 520 -543 520 -555 Z"
|
||||
android:valueType="pathType" />
|
||||
</aapt:attr>
|
||||
</target>
|
||||
</animated-vector>
|
||||
@@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:aapt="http://schemas.android.com/aapt">
|
||||
<aapt:attr name="android:drawable">
|
||||
<vector
|
||||
android:name="updates_enter"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="960"
|
||||
android:viewportHeight="960">
|
||||
<group android:translateY="960">
|
||||
<path
|
||||
android:name="icon"
|
||||
android:fillColor="#000000"
|
||||
android:fillType="evenOdd"
|
||||
android:pathData="M 326 -90 L 268 -188 L 158 -212 Q 143 -215 134 -227.5 Q 125 -240 127 -255 L 138 -368 L 63 -454 Q 53 -465 53 -480 Q 53 -495 63 -506 L 138 -592 L 127 -705 Q 125 -720 134 -732.5 Q 143 -745 158 -748 L 268 -772 L 326 -870 Q 334 -883 348 -887.5 Q 362 -892 376 -886 L 480 -842 L 584 -886 Q 598 -892 612 -887.5 Q 626 -883 634 -870 L 692 -772 L 802 -748 Q 817 -745 826 -732.5 Q 835 -720 833 -705 L 822 -592 L 897 -506 Q 907 -495 907 -480 Q 907 -465 897 -454 L 822 -368 L 833 -255 Q 835 -240 826 -227.5 Q 817 -215 802 -212 L 692 -188 L 634 -90 Q 626 -77 612 -72.5 Q 598 -68 584 -74 L 480 -118 L 376 -74 Q 362 -68 348 -72.5 Q 334 -77 326 -90 Z M 582 -798 L 591.69 -781.97 L 601.37 -765.93 L 611.06 -749.9 L 620.75 -733.86 L 630.44 -717.83 L 640.23 -701.95 L 658.54 -697.96 L 676.84 -693.96 L 695.14 -689.97 L 713.44 -685.98 L 731.75 -681.98 L 750 -677.95 L 748.33 -659.29 L 746.66 -640.63 L 745 -621.97 L 743.33 -603.31 L 741.67 -584.65 L 740 -566 L 752.22 -551.8 L 764.44 -537.6 L 776.66 -523.4 L 788.88 -509.2 L 801.1 -495 L 813.31 -480.8 L 802.31 -466.73 L 789.93 -452.67 L 777.54 -438.62 L 765.16 -424.56 L 752.78 -410.5 L 740.39 -396.45 L 741.61 -377.94 L 743.28 -359.28 L 744.94 -340.62 L 746.61 -321.96 L 748.28 -303.3 L 749.94 -284.64 L 732.39 -279.84 L 714.16 -275.53 L 695.93 -271.22 L 677.7 -266.91 L 659.47 -262.6 L 641.24 -258.29 L 631.2 -242.92 L 621.76 -226.74 L 612.32 -210.56 L 602.89 -194.38 L 593.45 -178.19 L 584.01 -162.01 L 566.76 -169.29 L 549.51 -176.59 L 532.26 -183.89 L 515 -191.19 L 497.75 -198.49 L 480.5 -205.79 L 463.29 -198.79 L 446.09 -191.37 L 428.89 -183.95 L 411.69 -176.53 L 394.49 -169.11 L 377.6 -162.66 L 367.91 -178.7 L 358.22 -194.73 L 348.54 -210.77 L 338.85 -226.8 L 329.16 -242.83 L 319.01 -258.22 L 300.71 -262.21 L 282.4 -266.2 L 264.1 -270.2 L 245.8 -274.19 L 227.5 -278.18 L 210.07 -282.82 L 211.71 -301.48 L 213.35 -320.15 L 214.98 -338.81 L 216.62 -357.47 L 218.26 -376.13 L 219.89 -394.79 L 208.42 -409.15 L 196.04 -423.2 L 183.65 -437.26 L 171.27 -451.32 L 158.89 -465.37 L 146.5 -479.43 L 157.72 -493.62 L 169.94 -507.82 L 182.16 -522.02 L 194.38 -536.22 L 206.6 -550.42 L 218.82 -564.62 L 218.5 -582.85 L 216.83 -601.51 L 215.16 -620.17 L 213.5 -638.83 L 211.83 -657.49 L 210.17 -676.15 L 226.48 -681.6 L 244.79 -685.59 L 263.09 -689.58 L 281.39 -693.58 L 299.7 -697.57 L 318 -701.56 L 328.41 -716.41 L 337.85 -732.59 L 347.29 -748.77 L 356.72 -764.96 L 366.16 -781.14 L 375.6 -797.32 L 392.53 -791.01 L 409.78 -783.71 L 427.03 -776.41 L 444.28 -769.11 L 461.54 -761.81 L 478.79 -754.51 L 495.99 -760.9 L 513.2 -768.32 L 530.4 -775.74 L 547.6 -783.16 L 564.8 -790.58 Z M 480 -480 Z M 508.5 -291.5 Q 520 -303 520 -320 Q 520 -337 508.5 -348.5 Q 497 -360 480 -360 Q 463 -360 451.5 -348.5 Q 440 -337 440 -320 Q 440 -303 451.5 -291.5 Q 463 -280 480 -280 Q 497 -280 508.5 -291.5 Z M 508.5 -451.5 Q 520 -463 520 -480 L 520 -640 Q 520 -657 508.5 -668.5 Q 497 -680 480 -680 Q 463 -680 451.5 -668.5 Q 440 -657 440 -640 L 440 -480 Q 440 -463 451.5 -451.5 Q 463 -440 480 -440 Q 497 -440 508.5 -451.5 Z" />
|
||||
</group>
|
||||
</vector>
|
||||
</aapt:attr>
|
||||
<target android:name="icon">
|
||||
<aapt:attr name="android:animation">
|
||||
<objectAnimator
|
||||
android:duration="300"
|
||||
android:interpolator="@android:interpolator/fast_out_slow_in"
|
||||
android:propertyName="pathData"
|
||||
android:valueFrom="M 326 -90 L 268 -188 L 158 -212 Q 143 -215 134 -227.5 Q 125 -240 127 -255 L 138 -368 L 63 -454 Q 53 -465 53 -480 Q 53 -495 63 -506 L 138 -592 L 127 -705 Q 125 -720 134 -732.5 Q 143 -745 158 -748 L 268 -772 L 326 -870 Q 334 -883 348 -887.5 Q 362 -892 376 -886 L 480 -842 L 584 -886 Q 598 -892 612 -887.5 Q 626 -883 634 -870 L 692 -772 L 802 -748 Q 817 -745 826 -732.5 Q 835 -720 833 -705 L 822 -592 L 897 -506 Q 907 -495 907 -480 Q 907 -465 897 -454 L 822 -368 L 833 -255 Q 835 -240 826 -227.5 Q 817 -215 802 -212 L 692 -188 L 634 -90 Q 626 -77 612 -72.5 Q 598 -68 584 -74 L 480 -118 L 376 -74 Q 362 -68 348 -72.5 Q 334 -77 326 -90 Z M 582 -798 L 591.69 -781.97 L 601.37 -765.93 L 611.06 -749.9 L 620.75 -733.86 L 630.44 -717.83 L 640.23 -701.95 L 658.54 -697.96 L 676.84 -693.96 L 695.14 -689.97 L 713.44 -685.98 L 731.75 -681.98 L 750 -677.95 L 748.33 -659.29 L 746.66 -640.63 L 745 -621.97 L 743.33 -603.31 L 741.67 -584.65 L 740 -566 L 752.22 -551.8 L 764.44 -537.6 L 776.66 -523.4 L 788.88 -509.2 L 801.1 -495 L 813.31 -480.8 L 802.31 -466.73 L 789.93 -452.67 L 777.54 -438.62 L 765.16 -424.56 L 752.78 -410.5 L 740.39 -396.45 L 741.61 -377.94 L 743.28 -359.28 L 744.94 -340.62 L 746.61 -321.96 L 748.28 -303.3 L 749.94 -284.64 L 732.39 -279.84 L 714.16 -275.53 L 695.93 -271.22 L 677.7 -266.91 L 659.47 -262.6 L 641.24 -258.29 L 631.2 -242.92 L 621.76 -226.74 L 612.32 -210.56 L 602.89 -194.38 L 593.45 -178.19 L 584.01 -162.01 L 566.76 -169.29 L 549.51 -176.59 L 532.26 -183.89 L 515 -191.19 L 497.75 -198.49 L 480.5 -205.79 L 463.29 -198.79 L 446.09 -191.37 L 428.89 -183.95 L 411.69 -176.53 L 394.49 -169.11 L 377.6 -162.66 L 367.91 -178.7 L 358.22 -194.73 L 348.54 -210.77 L 338.85 -226.8 L 329.16 -242.83 L 319.01 -258.22 L 300.71 -262.21 L 282.4 -266.2 L 264.1 -270.2 L 245.8 -274.19 L 227.5 -278.18 L 210.07 -282.82 L 211.71 -301.48 L 213.35 -320.15 L 214.98 -338.81 L 216.62 -357.47 L 218.26 -376.13 L 219.89 -394.79 L 208.42 -409.15 L 196.04 -423.2 L 183.65 -437.26 L 171.27 -451.32 L 158.89 -465.37 L 146.5 -479.43 L 157.72 -493.62 L 169.94 -507.82 L 182.16 -522.02 L 194.38 -536.22 L 206.6 -550.42 L 218.82 -564.62 L 218.5 -582.85 L 216.83 -601.51 L 215.16 -620.17 L 213.5 -638.83 L 211.83 -657.49 L 210.17 -676.15 L 226.48 -681.6 L 244.79 -685.59 L 263.09 -689.58 L 281.39 -693.58 L 299.7 -697.57 L 318 -701.56 L 328.41 -716.41 L 337.85 -732.59 L 347.29 -748.77 L 356.72 -764.96 L 366.16 -781.14 L 375.6 -797.32 L 392.53 -791.01 L 409.78 -783.71 L 427.03 -776.41 L 444.28 -769.11 L 461.54 -761.81 L 478.79 -754.51 L 495.99 -760.9 L 513.2 -768.32 L 530.4 -775.74 L 547.6 -783.16 L 564.8 -790.58 Z M 480 -480 Z M 508.5 -291.5 Q 520 -303 520 -320 Q 520 -337 508.5 -348.5 Q 497 -360 480 -360 Q 463 -360 451.5 -348.5 Q 440 -337 440 -320 Q 440 -303 451.5 -291.5 Q 463 -280 480 -280 Q 497 -280 508.5 -291.5 Z M 508.5 -451.5 Q 520 -463 520 -480 L 520 -640 Q 520 -657 508.5 -668.5 Q 497 -680 480 -680 Q 463 -680 451.5 -668.5 Q 440 -657 440 -640 L 440 -480 Q 440 -463 451.5 -451.5 Q 463 -440 480 -440 Q 497 -440 508.5 -451.5 Z"
|
||||
android:valueTo="M 326 -90 L 268 -188 L 158 -212 Q 143 -215 134 -227.5 Q 125 -240 127 -255 L 138 -368 L 63 -454 Q 53 -465 53 -480 Q 53 -495 63 -506 L 138 -592 L 127 -705 Q 125 -720 134 -732.5 Q 143 -745 158 -748 L 268 -772 L 326 -870 Q 334 -883 348 -887.5 Q 362 -892 376 -886 L 480 -842 L 584 -886 Q 598 -892 612 -887.5 Q 626 -883 634 -870 L 692 -772 L 802 -748 Q 817 -745 826 -732.5 Q 835 -720 833 -705 L 822 -592 L 897 -506 Q 907 -495 907 -480 Q 907 -465 897 -454 L 822 -368 L 833 -255 Q 835 -240 826 -227.5 Q 817 -215 802 -212 L 692 -188 L 634 -90 Q 626 -77 612 -72.5 Q 598 -68 584 -74 L 480 -118 L 376 -74 Q 362 -68 348 -72.5 Q 334 -77 326 -90 Z M 480 -680 L 488.17 -679.28 L 496.02 -676.94 L 503.18 -672.95 L 509.35 -667.57 L 514.33 -661.07 L 517.81 -653.65 L 519.62 -645.66 L 520 -637.47 L 520 -629.26 L 520 -621.05 L 520 -612.84 L 520 -604.63 L 520 -596.42 L 520 -588.21 L 520 -580 L 520 -571.79 L 520 -563.58 L 520 -555.37 L 520 -547.16 L 520 -538.95 L 520 -530.74 L 520 -522.53 L 520 -514.32 L 520 -506.11 L 520 -497.9 L 520 -489.69 L 520 -481.48 L 519.48 -473.29 L 517.46 -465.36 L 513.79 -458.03 L 508.64 -451.66 L 502.33 -446.42 L 495.05 -442.68 L 487.13 -440.58 L 480 -438.95 L 480 -430.74 L 480 -422.53 L 480 -414.32 L 480 -406.11 L 480 -397.9 L 480 -389.69 L 480 -381.48 L 480 -373.27 L 480 -365.06 L 483.15 -359.86 L 491.24 -358.56 L 498.88 -355.61 L 505.7 -351.05 L 511.44 -345.21 L 515.87 -338.32 L 518.7 -330.63 L 519.89 -322.53 L 519.62 -314.34 L 517.81 -306.35 L 514.33 -298.93 L 509.35 -292.43 L 503.18 -287.05 L 496.02 -283.06 L 488.17 -280.72 L 480 -280 L 471.83 -280.72 L 463.98 -283.06 L 456.82 -287.05 L 450.65 -292.43 L 445.67 -298.93 L 442.19 -306.35 L 440.38 -314.34 L 440.11 -322.53 L 441.3 -330.63 L 444.13 -338.32 L 448.56 -345.21 L 454.3 -351.05 L 461.12 -355.61 L 468.76 -358.56 L 476.85 -359.86 L 480 -365.06 L 480 -373.27 L 480 -381.48 L 480 -389.69 L 480 -397.9 L 480 -406.11 L 480 -414.32 L 480 -422.53 L 480 -430.74 L 480 -438.95 L 472.87 -440.58 L 464.95 -442.68 L 457.67 -446.42 L 451.36 -451.66 L 446.21 -458.03 L 442.54 -465.36 L 440.52 -473.29 L 440 -481.48 L 440 -489.69 L 440 -497.9 L 440 -506.11 L 440 -514.32 L 440 -522.53 L 440 -530.74 L 440 -538.95 L 440 -547.16 L 440 -555.37 L 440 -563.58 L 440 -571.79 L 440 -580 L 440 -588.21 L 440 -596.42 L 440 -604.63 L 440 -612.84 L 440 -621.05 L 440 -629.26 L 440 -637.47 L 440.38 -645.66 L 442.19 -653.65 L 445.67 -661.07 L 450.65 -667.57 L 456.82 -672.95 L 463.98 -676.94 L 471.83 -679.28 Z M 480 -480 Z M 480 -320 Q 480 -320 480 -320 Q 480 -320 480 -320 Q 480 -320 480 -320 Q 480 -320 480 -320 Q 480 -320 480 -320 Q 480 -320 480 -320 Q 480 -320 480 -320 Q 480 -320 480 -320 Z M 480 -560 Q 480 -560 480 -560 L 480 -560 Q 480 -560 480 -560 Q 480 -560 480 -560 Q 480 -560 480 -560 Q 480 -560 480 -560 L 480 -560 Q 480 -560 480 -560 Q 480 -560 480 -560 Q 480 -560 480 -560 Z"
|
||||
android:valueType="pathType" />
|
||||
</aapt:attr>
|
||||
</target>
|
||||
</animated-vector>
|
||||
@@ -1,9 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#FFF"
|
||||
android:pathData="M18,2L6,2c-1.1,0 -2,0.9 -2,2v16c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2L20,4c0,-1.1 -0.9,-2 -2,-2zM9,4h2v5l-1,-0.75L9,9L9,4zM18,20L6,20L6,4h1v9l3,-2.25L13,13L13,4h5v16z" />
|
||||
</vector>
|
||||
@@ -1,9 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#FFF"
|
||||
android:pathData="M19,6.41L17.59,5 12,10.59 6.41,5 5,6.41 10.59,12 5,17.59 6.41,19 12,13.41 17.59,19 19,17.59 13.41,12z" />
|
||||
</vector>
|
||||
@@ -1,9 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#000"
|
||||
android:pathData="M17,15h2V7c0,-1.1 -0.9,-2 -2,-2H9v2h8v8zM7,17V1H5v4H1v2h4v10c0,1.1 0.9,2 2,2h10v4h2v-4h4v-2H7z" />
|
||||
</vector>
|
||||
@@ -1,18 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#000"
|
||||
android:pathData="M7,1l-2,0l0,1.18l2,2l0,-3.18z" />
|
||||
<path
|
||||
android:fillColor="#000"
|
||||
android:pathData="M17,7v7.18l0.82,0.82H19V7a2.0059,2.0059 0,0 0,-2 -2H9V6.18L9.82,7Z" />
|
||||
<path
|
||||
android:fillColor="#000"
|
||||
android:pathData="M19.0001,19l-2,-2h0L2.1,2.1 0.68,3.51 2.1707,5H1V7H4.1718L5,7.8278V17a2.0059,2.0059 0,0 0,2 2h9.1778L17,19.8218V23h2V21.8207L20.49,23.31 21.9,21.9l-2.9,-2.9ZM7,17V9.8268L14.1768,17Z" />
|
||||
<path
|
||||
android:fillColor="#000"
|
||||
android:pathData="M19.82,17l2,2l1.18,0l0,-2l-3.18,0z" />
|
||||
</vector>
|
||||
@@ -1,9 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#FFF"
|
||||
android:pathData="M9,16.2L4.8,12l-1.4,1.4L9,19 21,7l-1.4,-1.4L9,16.2z" />
|
||||
</vector>
|
||||
@@ -1,12 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#000"
|
||||
android:pathData="M9,16.2L4.8,12l-1.4,1.4L9,19 21,7l-1.4,-1.4L9,16.2z" />
|
||||
<path
|
||||
android:fillColor="#000"
|
||||
android:pathData="M22,18l-3,0l0,-4l-2,0l0,4l-3,0l4,4z" />
|
||||
</vector>
|
||||
@@ -1,12 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:pathData="M11.99,2C6.47,2 2,6.48 2,12C2,17.52 6.47,22 11.99,22C17.52,22 22,17.52 22,12C22,6.48 17.52,2 11.99,2zM12,4C16.42,4 20,7.58 20,12C20,16.42 16.42,20 12,20C7.58,20 4,16.42 4,12C4,7.58 7.58,4 12,4z"
|
||||
android:fillColor="#000000"/>
|
||||
<path
|
||||
android:pathData="M18.041,12 L16.976,10.935 12.755,15.149L12.755,5.959L11.245,5.959L11.245,15.149L7.031,10.928 5.959,12l6.041,6.041z"
|
||||
android:fillColor="#000000"/>
|
||||
</vector>
|
||||
@@ -1,9 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#000"
|
||||
android:pathData="M20,9H4v2h16V9zM4,15h16v-2H4V15z" />
|
||||
</vector>
|
||||
@@ -1,9 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#000"
|
||||
android:pathData="M20.5,11H19V7c0,-1.1 -0.9,-2 -2,-2h-4V3.5C13,2.12 11.88,1 10.5,1S8,2.12 8,3.5V5H4c-1.1,0 -1.99,0.9 -1.99,2v3.8H3.5c1.49,0 2.7,1.21 2.7,2.7s-1.21,2.7 -2.7,2.7H2V20c0,1.1 0.9,2 2,2h3.8v-1.5c0,-1.49 1.21,-2.7 2.7,-2.7 1.49,0 2.7,1.21 2.7,2.7V22H17c1.1,0 2,-0.9 2,-2v-4h1.5c1.38,0 2.5,-1.12 2.5,-2.5S21.88,11 20.5,11z" />
|
||||
</vector>
|
||||
@@ -1,9 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#FFF"
|
||||
android:pathData="M10,4H4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2V8c0,-1.1 -0.9,-2 -2,-2h-8l-2,-2z" />
|
||||
</vector>
|
||||
@@ -1,9 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#FFF"
|
||||
android:pathData="M3,10C2.76,10 2.55,10.09 2.41,10.25C2.27,10.4 2.21,10.62 2.24,10.86L2.74,13.85C2.82,14.5 3.4,15 4,15H7C7.64,15 8.36,14.44 8.5,13.82L9.56,10.63C9.6,10.5 9.57,10.31 9.5,10.19C9.39,10.07 9.22,10 9,10H3M7,17H4C2.38,17 0.96,15.74 0.76,14.14L0.26,11.15C0.15,10.3 0.39,9.5 0.91,8.92C1.43,8.34 2.19,8 3,8H9C9.83,8 10.58,8.35 11.06,8.96C11.17,9.11 11.27,9.27 11.35,9.45C11.78,9.36 12.22,9.36 12.64,9.45C12.72,9.27 12.82,9.11 12.94,8.96C13.41,8.35 14.16,8 15,8H21C21.81,8 22.57,8.34 23.09,8.92C23.6,9.5 23.84,10.3 23.74,11.11L23.23,14.18C23.04,15.74 21.61,17 20,17H17C15.44,17 13.92,15.81 13.54,14.3L12.64,11.59C12.26,11.31 11.73,11.31 11.35,11.59L10.43,14.37C10.07,15.82 8.56,17 7,17M15,10C14.78,10 14.61,10.07 14.5,10.19C14.42,10.31 14.4,10.5 14.45,10.7L15.46,13.75C15.64,14.44 16.36,15 17,15H20C20.59,15 21.18,14.5 21.25,13.89L21.76,10.82C21.79,10.62 21.73,10.4 21.59,10.25C21.45,10.09 21.24,10 21,10H15Z" />
|
||||
</vector>
|
||||
@@ -1,9 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#000"
|
||||
android:pathData="M11,7h2v2h-2zM11,11h2v6h-2zM12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM12,20c-4.41,0 -8,-3.59 -8,-8s3.59,-8 8,-8 8,3.59 8,8 -3.59,8 -8,8z" />
|
||||
</vector>
|
||||
@@ -1,9 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#000"
|
||||
android:pathData="M12,8c1.1,0 2,-0.9 2,-2s-0.9,-2 -2,-2 -2,0.9 -2,2 0.9,2 2,2zM12,10c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2zM12,16c-1.1,0 -2,0.9 -2,2s0.9,2 2,2 2,-0.9 2,-2 -0.9,-2 -2,-2z" />
|
||||
</vector>
|
||||
@@ -1,9 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#FFF"
|
||||
android:pathData="M6,19h4L10,5L6,5v14zM14,5v14h4L18,5h-4z" />
|
||||
</vector>
|
||||
@@ -1,9 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#FFF"
|
||||
android:pathData="M21,19V5c0,-1.1 -0.9,-2 -2,-2H5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2zM8.5,13.5l2.5,3.01L14.5,12l4.5,6H5l3.5,-4.5z" />
|
||||
</vector>
|
||||
@@ -1,9 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#FFF"
|
||||
android:pathData="M8,5v14l11,-7z" />
|
||||
</vector>
|
||||
@@ -1,15 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#000"
|
||||
android:pathData="M17.3159,1h-10a2.0059,2.0059 0,0 0,-2 2L5.3159,21a2.0059,2.0059 0,0 0,2 2h10a2.0059,2.0059 0,0 0,2 -2L19.3159,3A2.0059,2.0059 0,0 0,17.3159 1ZM17.3159,21h-10L7.3159,3h10Z" />
|
||||
<path
|
||||
android:fillColor="#000"
|
||||
android:pathData="M11.3083,5h2v5.5h-2z" />
|
||||
<path
|
||||
android:fillColor="#000"
|
||||
android:pathData="M15.308,16l-2,0l0,-4.5l-2,0l0,4.5l-2,0l3,3l3,-3z" />
|
||||
</vector>
|
||||
@@ -1,12 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#000"
|
||||
android:pathData="M6.9906,18L6.9906,6h12L18.9906,3a2.0059,2.0059 0,0 0,-2 -2h-10a2.0059,2.0059 0,0 0,-2 2L4.9906,21a2.0059,2.0059 0,0 0,2 2h10a2.0059,2.0059 0,0 0,2 -2L18.9906,18h-12ZM6.9906,3h10L16.9906,4h-10ZM16.9906,21h-10L6.9906,20h10Z" />
|
||||
<path
|
||||
android:fillColor="#000"
|
||||
android:pathData="M21.7706,12.44l-0.02,0.03a3.5546,3.5546 0,0 0,0.05 -0.47,3.9031 3.9031,0 0,0 -0.05,-0.48l0.02,0.03 0.85,-0.68a0.5068,0.5068 0,0 0,0.12 -0.64l-0.84,-1.46a0.4986,0.4986 0,0 0,-0.61 -0.22l-1.01,0.39 0.0099,0.04a3.6135,3.6135 0,0 0,-0.8 -0.48l-0.17,-1.07a0.4879,0.4879 0,0 0,-0.49 -0.43h-1.68a0.4876,0.4876 0,0 0,-0.49 0.42l-0.17,1.08a3.6149,3.6149 0,0 0,-0.8 0.48l0.02,-0.03 -1.01,-0.39a0.4878,0.4878 0,0 0,-0.61 0.22l-0.84,1.46a0.5068,0.5068 0,0 0,0.12 0.64l0.85,0.68 0.02,-0.03a3.9148,3.9148 0,0 0,-0.05 0.48,3.915 3.915,0 0,0 0.05,0.48l-0.02,-0.03 -0.85,0.68a0.5068,0.5068 0,0 0,-0.12 0.64l0.84,1.46a0.4985,0.4985 0,0 0,0.61 0.22l1.01,-0.39 -0.02,-0.03a4.4991,4.4991 0,0 0,0.8 0.46l0.17,1.08a0.4876,0.4876 0,0 0,0.49 0.42h1.68a0.4876,0.4876 0,0 0,0.49 -0.42l0.17,-1.08a3.6138,3.6138 0,0 0,0.8 -0.48l-0.02,0.03 1.02,0.39a0.4879,0.4879 0,0 0,0.61 -0.22l0.84,-1.46a0.5068,0.5068 0,0 0,-0.12 -0.64ZM17.9906,14a2,2 0,1 1,2 -2A2.0059,2.0059 0,0 1,17.9906 14Z" />
|
||||
</vector>
|
||||
@@ -1,21 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#000"
|
||||
android:pathData="M17.3159,18h-10L7.3159,16h-2v5a2.0059,2.0059 0,0 0,2 2h10a2.0059,2.0059 0,0 0,2 -2L19.3159,16h-2ZM17.3159,21h-10L7.3159,20h10Z" />
|
||||
<path
|
||||
android:fillColor="#000"
|
||||
android:pathData="M7.3159,6h10L17.3159,8h2L19.3159,3a2.0059,2.0059 0,0 0,-2 -2h-10a2.0059,2.0059 0,0 0,-2 2L5.3159,8h2ZM7.3159,3h10L17.3159,4h-10Z" />
|
||||
<path
|
||||
android:fillColor="#000"
|
||||
android:pathData="M22.311,12l-3,-3l0,2l-11.99,0l0,2l11.99,0l0,2l3,-3z" />
|
||||
<path
|
||||
android:fillColor="#000"
|
||||
android:pathData="M2.3206,11h1.5v2h-1.5z" />
|
||||
<path
|
||||
android:fillColor="#000"
|
||||
android:pathData="M4.8206,11h1.5v2h-1.5z" />
|
||||
</vector>
|
||||
@@ -1,21 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#000"
|
||||
android:pathData="M7,6H17V8h2V3a2.0059,2.0059 0,0 0,-2 -2H7A2.0059,2.0059 0,0 0,5 3V8H7ZM7,3H17V4H7Z" />
|
||||
<path
|
||||
android:fillColor="#000"
|
||||
android:pathData="M17,18L7,18L7,16L5,16v5a2.0059,2.0059 0,0 0,2 2L17,23a2.0059,2.0059 0,0 0,2 -2L19,16L17,16ZM17,21L7,21L7,20L17,20Z" />
|
||||
<path
|
||||
android:fillColor="#000"
|
||||
android:pathData="M5.005,13l11.99,0l0,-2l-11.99,0l0,-2l-3,3l3,3l0,-2z" />
|
||||
<path
|
||||
android:fillColor="#000"
|
||||
android:pathData="M20.4953,11h1.5v2h-1.5z" />
|
||||
<path
|
||||
android:fillColor="#000"
|
||||
android:pathData="M17.9953,11h1.5v2h-1.5z" />
|
||||
</vector>
|
||||
@@ -1,12 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#000"
|
||||
android:pathData="M17,1L7,1A2.0059,2.0059 0,0 0,5 3L5,21a2.0059,2.0059 0,0 0,2 2L17,23a2.0059,2.0059 0,0 0,2 -2L19,3A2.0059,2.0059 0,0 0,17 1ZM17,3v1.0462L7,4.0462L7,3ZM17,6.0462v12L7,18.0462v-12ZM7,21v-0.9538L17,20.0462L17,21Z" />
|
||||
<path
|
||||
android:fillColor="#000"
|
||||
android:pathData="M9,13l3,3l3,-3l-2,0l0,-5l-2,0l0,5l-2,0z" />
|
||||
</vector>
|
||||
@@ -1,12 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#000"
|
||||
android:pathData="M11.992,19l3,-3l-2,0l0,-11l-2,0l0,11l-2,0l3,3z" />
|
||||
<path
|
||||
android:fillColor="#000"
|
||||
android:pathData="M17,1L7,1A2.0059,2.0059 0,0 0,5 3L5,21a2.0059,2.0059 0,0 0,2 2L17,23a2.0059,2.0059 0,0 0,2 -2L19,3A2.0059,2.0059 0,0 0,17 1ZM17,21L7,21L7,3L17,3Z" />
|
||||
</vector>
|
||||
@@ -1,9 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#FFF"
|
||||
android:pathData="M17.65,6.35C16.2,4.9 14.21,4 12,4c-4.42,0 -7.99,3.58 -7.99,8s3.57,8 7.99,8c3.73,0 6.84,-2.55 7.73,-6h-2.08c-0.82,2.33 -3.04,4 -5.65,4 -3.31,0 -6,-2.69 -6,-6s2.69,-6 6,-6c1.66,0 3.14,0.69 4.22,1.78L13,11h7V4l-2.35,2.35z" />
|
||||
</vector>
|
||||
@@ -1,9 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#FFF"
|
||||
android:pathData="M18,16.08c-0.76,0 -1.44,0.3 -1.96,0.77L8.91,12.7c0.05,-0.23 0.09,-0.46 0.09,-0.7s-0.04,-0.47 -0.09,-0.7l7.05,-4.11c0.54,0.5 1.25,0.81 2.04,0.81 1.66,0 3,-1.34 3,-3s-1.34,-3 -3,-3 -3,1.34 -3,3c0,0.24 0.04,0.47 0.09,0.7L8.04,9.81C7.5,9.31 6.79,9 6,9c-1.66,0 -3,1.34 -3,3s1.34,3 3,3c0.79,0 1.5,-0.31 2.04,-0.81l7.12,4.16c-0.05,0.21 -0.08,0.43 -0.08,0.65 0,1.61 1.31,2.92 2.92,2.92s2.92,-1.31 2.92,-2.92c0,-1.61 -1.31,-2.92 -2.92,-2.92zM18,4c0.55,0 1,0.45 1,1s-0.45,1 -1,1 -1,-0.45 -1,-1 0.45,-1 1,-1zM6,13c-0.55,0 -1,-0.45 -1,-1s0.45,-1 1,-1 1,0.45 1,1 -0.45,1 -1,1zM18,20.02c-0.55,0 -1,-0.45 -1,-1s0.45,-1 1,-1 1,0.45 1,1 -0.45,1 -1,1z"/>
|
||||
</vector>
|
||||
@@ -1,9 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#FFF"
|
||||
android:pathData="M12,16.5l4,-4h-3v-9h-2v9L8,12.5l4,4zM21,3.5h-6v1.99h6v14.03L3,19.52L3,5.49h6L9,3.5L3,3.5c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h18c1.1,0 2,-0.9 2,-2v-14c0,-1.1 -0.9,-2 -2,-2z" />
|
||||
</vector>
|
||||
@@ -1,10 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="960"
|
||||
android:viewportHeight="960"
|
||||
android:tint="?attr/colorControlNormal">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M476,540L560,456L644,540L700,484L616,400L700,316L644,260L560,344L476,260L420,316L504,400L420,484L476,540ZM320,720Q287,720 263.5,696.5Q240,673 240,640L240,160Q240,127 263.5,103.5Q287,80 320,80L800,80Q833,80 856.5,103.5Q880,127 880,160L880,640Q880,673 856.5,696.5Q833,720 800,720L320,720ZM320,640L800,640Q800,640 800,640Q800,640 800,640L800,160Q800,160 800,160Q800,160 800,160L320,160Q320,160 320,160Q320,160 320,160L320,640Q320,640 320,640Q320,640 320,640ZM160,880Q127,880 103.5,856.5Q80,833 80,800L80,240L160,240L160,800Q160,800 160,800Q160,800 160,800L720,800L720,880L160,880ZM320,160L320,160Q320,160 320,160Q320,160 320,160L320,640Q320,640 320,640Q320,640 320,640L320,640Q320,640 320,640Q320,640 320,640L320,160Q320,160 320,160Q320,160 320,160Z"/>
|
||||
</vector>
|
||||
@@ -1,9 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#FFF"
|
||||
android:pathData="M1,21h22L12,2 1,21zM13,18h-2v-2h2v2zM13,14h-2v-4h2v4z" />
|
||||
</vector>
|
||||
@@ -12,12 +12,14 @@
|
||||
<group
|
||||
android:translateX="16"
|
||||
android:translateY="16">
|
||||
<group
|
||||
android:scaleX="0.025"
|
||||
android:scaleY="0.025"
|
||||
android:translateY="24">
|
||||
<path
|
||||
android:fillColor="@color/accent_blue"
|
||||
android:pathData="M4,6H2v14c0,1.1 0.9,2 2,2h14v-2H4V6z"/>
|
||||
<path
|
||||
android:fillColor="@color/accent_blue"
|
||||
android:pathData="M20,2L8,2c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2L22,4c0,-1.1 -0.9,-2 -2,-2zM20,12l-2.5,-1.5L15,12L15,4h5v8z"/>
|
||||
android:pathData="M320-240q-33 0-56.5-23.5T240-320v-480q0-33 23.5-56.5T320-880h480q33 0 56.5 23.5T880-800v480q0 33-23.5 56.5T800-240H320ZM160-80q-33 0-56.5-23.5T80-160v-520q0-17 11.5-28.5T120-720q17 0 28.5 11.5T160-680v520h520q17 0 28.5 11.5T720-120q0 17-11.5 28.5T680-80H160Zm360-475q0 12 10 17.5t20-.5l49-30q10-6 21-6t21 6l49 30q10 6 20 .5t10-17.5v-245H520v245Z" />
|
||||
</group>
|
||||
</group>
|
||||
</vector>
|
||||
</foreground>
|
||||
|
||||
@@ -12,9 +12,14 @@
|
||||
<group
|
||||
android:translateX="16"
|
||||
android:translateY="16">
|
||||
<group
|
||||
android:scaleX="0.025"
|
||||
android:scaleY="0.025"
|
||||
android:translateY="24">
|
||||
<path
|
||||
android:fillColor="@color/accent_blue"
|
||||
android:pathData="M12,10.9c-0.61,0 -1.1,0.49 -1.1,1.1s0.49,1.1 1.1,1.1c0.61,0 1.1,-0.49 1.1,-1.1s-0.49,-1.1 -1.1,-1.1zM12,2C6.48,2 2,6.48 2,12s4.48,10 10,10 10,-4.48 10,-10S17.52,2 12,2zM14.19,14.19L6,18l3.81,-8.19L18,6l-3.81,8.19z" />
|
||||
android:pathData="m335-310 202-58q20-6 34.5-20.5T592-423l58-202q3-11-5.5-19.5T625-650l-202 58q-20 6-34.5 20.5T368-537l-58 202q-3 11 5.5 19.5T335-310Zm145-110q-25 0-42.5-17.5T420-480q0-25 17.5-42.5T480-540q25 0 42.5 17.5T540-480q0 25-17.5 42.5T480-420Zm0 340q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Z" />
|
||||
</group>
|
||||
</group>
|
||||
</vector>
|
||||
</foreground>
|
||||
|
||||
@@ -12,9 +12,14 @@
|
||||
<group
|
||||
android:translateX="16"
|
||||
android:translateY="16">
|
||||
<group
|
||||
android:scaleX="0.025"
|
||||
android:scaleY="0.025"
|
||||
android:translateY="24">
|
||||
<path
|
||||
android:fillColor="@color/accent_blue"
|
||||
android:pathData="M13,3c-4.97,0 -9,4.03 -9,9L1,12l3.89,3.89 0.07,0.14L9,12L6,12c0,-3.87 3.13,-7 7,-7s7,3.13 7,7 -3.13,7 -7,7c-1.93,0 -3.68,-0.79 -4.94,-2.06l-1.42,1.42C8.27,19.99 10.51,21 13,21c4.97,0 9,-4.03 9,-9s-4.03,-9 -9,-9zM12,8v5l4.28,2.54 0.72,-1.21 -3.5,-2.08L13.5,8L12,8z" />
|
||||
android:pathData="M480-120q-126 0-223-76.5T131-392q-4-15 6-27.5t27-14.5q16-2 29 6t18 24q24 90 99 147t170 57q117 0 198.5-81.5T760-480q0-117-81.5-198.5T480-760q-69 0-129 32t-101 88h70q17 0 28.5 11.5T360-600q0 17-11.5 28.5T320-560H160q-17 0-28.5-11.5T120-600v-160q0-17 11.5-28.5T160-800q17 0 28.5 11.5T200-760v54q51-64 124.5-99T480-840q75 0 140.5 28.5t114 77q48.5 48.5 77 114T840-480q0 75-28.5 140.5t-77 114q-48.5 48.5-114 77T480-120Zm40-376 100 100q11 11 11 28t-11 28q-11 11-28 11t-28-11L452-452q-6-6-9-13.5t-3-15.5v-159q0-17 11.5-28.5T480-680q17 0 28.5 11.5T520-640v144Z" />
|
||||
</group>
|
||||
</group>
|
||||
</vector>
|
||||
</foreground>
|
||||
|
||||
@@ -12,9 +12,14 @@
|
||||
<group
|
||||
android:translateX="16"
|
||||
android:translateY="16">
|
||||
<group
|
||||
android:scaleX="0.025"
|
||||
android:scaleY="0.025"
|
||||
android:translateY="24">
|
||||
<path
|
||||
android:fillColor="@color/accent_blue"
|
||||
android:pathData="M23,12l-2.44,-2.78 0.34,-3.68 -3.61,-0.82 -1.89,-3.18L12,3 8.6,1.54 6.71,4.72l-3.61,0.81 0.34,3.68L1,12l2.44,2.78 -0.34,3.69 3.61,0.82 1.89,3.18L12,21l3.4,1.46 1.89,-3.18 3.61,-0.82 -0.34,-3.68L23,12zM13,17h-2v-2h2v2zM13,13h-2L11,7h2v6z" />
|
||||
android:pathData="m326-90-58-98-110-24q-15-3-24-15.5t-7-27.5l11-113-75-86q-10-11-10-26t10-26l75-86-11-113q-2-15 7-27.5t24-15.5l110-24 58-98q8-13 22-17.5t28 1.5l104 44 104-44q14-6 28-1.5t22 17.5l58 98 110 24q15 3 24 15.5t7 27.5l-11 113 75 86q10 11 10 26t-10 26l-75 86 11 113q2 15-7 27.5T802-212l-110 24-58 98q-8 13-22 17.5T584-74l-104-44-104 44q-14 6-28 1.5T326-90Zm182.5-201.5Q520-303 520-320t-11.5-28.5Q497-360 480-360t-28.5 11.5Q440-337 440-320t11.5 28.5Q463-280 480-280t28.5-11.5Zm0-160Q520-463 520-480v-160q0-17-11.5-28.5T480-680q-17 0-28.5 11.5T440-640v160q0 17 11.5 28.5T480-440q17 0 28.5-11.5Z" />
|
||||
</group>
|
||||
</group>
|
||||
</vector>
|
||||
</foreground>
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
android:paddingHorizontal="10dp"
|
||||
android:paddingVertical="8dp"
|
||||
android:scaleType="center"
|
||||
app:srcCompat="@drawable/ic_drag_handle_24dp"
|
||||
app:srcCompat="@drawable/rounded_drag_handle"
|
||||
app:tint="?android:attr/textColorHint"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:srcCompat="@drawable/ic_drag_handle_24dp"
|
||||
app:srcCompat="@drawable/rounded_drag_handle"
|
||||
app:tint="?android:attr/textColorHint"
|
||||
tools:ignore="ContentDescription" />
|
||||
|
||||
@@ -96,7 +96,7 @@
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"
|
||||
app:srcCompat="@drawable/ic_overflow_24dp"
|
||||
app:srcCompat="@drawable/rounded_more_vert"
|
||||
app:tint="?attr/colorOnBackground" />
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
||||
|
||||
@@ -27,6 +27,7 @@ spotless {
|
||||
dependencies {
|
||||
compileOnly(gradleKotlinDsl())
|
||||
compileOnly(libs.android.gradle)
|
||||
compileOnly(libs.android.gradle.runtimeDependency("sdk-common"))
|
||||
compileOnly(libs.kotlin.compose.compiler.gradle)
|
||||
compileOnly(libs.kotlin.gradle)
|
||||
implementation(libs.spotless.gradle)
|
||||
@@ -73,3 +74,13 @@ gradlePlugin {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun Provider<MinimalExternalModuleDependency>.runtimeDependency(name: String): Provider<String> = map { dependency ->
|
||||
configurations.detachedConfiguration(dependencies.create(dependency))
|
||||
.attributes { attribute(Usage.USAGE_ATTRIBUTE, objects.named(Usage.JAVA_RUNTIME)) }
|
||||
.incoming.resolutionResult.allComponents
|
||||
.firstOrNull { it.moduleVersion?.name == name }
|
||||
?.moduleVersion
|
||||
?.toString()
|
||||
?: error("${dependency.module} has no runtime dependency named $name")
|
||||
}
|
||||
|
||||
@@ -21,6 +21,26 @@ class PluginSpotless : Plugin<Project> {
|
||||
ktlint(ktlintVersion)
|
||||
trimTrailingWhitespace()
|
||||
endWithNewline()
|
||||
forbidRegex(
|
||||
"materialSymbolsRImport",
|
||||
"(?m)^import mihon\\.icons\\.materialsymbols\\.R(?! as MaterialSymbolsR$)\\b.*$",
|
||||
"Import mihon.icons.materialsymbols.R as MaterialSymbolsR",
|
||||
)
|
||||
forbidRegex(
|
||||
"materialSymbolsRQualified",
|
||||
"(?m)^(?!import ).*\\bmihon\\.icons\\.materialsymbols\\.R\\.",
|
||||
"Use the MaterialSymbolsR import alias instead of the qualified name",
|
||||
)
|
||||
forbidRegex(
|
||||
"customMaterialSymbolsRImport",
|
||||
"(?m)^import mihon\\.icons\\.custommaterialsymbols\\.R(?! as CustomMaterialSymbolsR$)\\b.*$",
|
||||
"Import mihon.icons.custommaterialsymbols.R as CustomMaterialSymbolsR",
|
||||
)
|
||||
forbidRegex(
|
||||
"customMaterialSymbolsRQualified",
|
||||
"(?m)^(?!import ).*\\bmihon\\.icons\\.custommaterialsymbols\\.R\\.",
|
||||
"Use the CustomMaterialSymbolsR import alias instead of the qualified name",
|
||||
)
|
||||
}
|
||||
|
||||
kotlinGradle {
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
package mihon.gradle.tasks
|
||||
|
||||
import com.android.ide.common.vectordrawable.Svg2Vector
|
||||
import org.gradle.api.DefaultTask
|
||||
import org.gradle.api.file.ConfigurableFileCollection
|
||||
import org.gradle.api.file.DirectoryProperty
|
||||
import org.gradle.api.tasks.InputFiles
|
||||
import org.gradle.api.tasks.OutputDirectory
|
||||
import org.gradle.api.tasks.PathSensitive
|
||||
import org.gradle.api.tasks.PathSensitivity
|
||||
import org.gradle.api.tasks.TaskAction
|
||||
import java.io.ByteArrayOutputStream
|
||||
|
||||
abstract class GenerateVectorDrawablesTask : DefaultTask() {
|
||||
|
||||
@get:InputFiles
|
||||
@get:PathSensitive(PathSensitivity.RELATIVE)
|
||||
abstract val svgFiles: ConfigurableFileCollection
|
||||
|
||||
@get:OutputDirectory
|
||||
abstract val outputDir: DirectoryProperty
|
||||
|
||||
@TaskAction
|
||||
fun action() {
|
||||
val drawableDir = outputDir.get().dir("drawable").asFile.apply {
|
||||
deleteRecursively()
|
||||
mkdirs()
|
||||
}
|
||||
svgFiles.forEach { svg ->
|
||||
val output = ByteArrayOutputStream()
|
||||
val error = Svg2Vector.parseSvgToXml(svg.toPath(), output)
|
||||
check(error.isEmpty()) { "${svg.name}: $error" }
|
||||
|
||||
val folder = svg.parentFile.name
|
||||
var content = output.toString(Charsets.UTF_8).replace(blackFill, "@android:color/white")
|
||||
if (folder.startsWith("autoMirrored")) {
|
||||
content = content.replaceFirst("<vector ", "<vector android:autoMirrored=\"true\" ")
|
||||
}
|
||||
|
||||
val name = "${folder.replace(upperCase) { "_" + it.value.lowercase() }}_${svg.nameWithoutExtension}"
|
||||
drawableDir.resolve("$name.xml").writeText(content)
|
||||
}
|
||||
}
|
||||
|
||||
private companion object {
|
||||
val blackFill = "#FF000000"
|
||||
val upperCase = "[A-Z]".toRegex()
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,44 @@
|
||||
plugins {
|
||||
alias(mihonx.plugins.android.library)
|
||||
alias(mihonx.plugins.compose)
|
||||
|
||||
alias(mihonx.plugins.spotless)
|
||||
|
||||
alias(libs.plugins.valkyrie)
|
||||
}
|
||||
|
||||
android {
|
||||
namespace = "mihon.icons.custommaterialsymbols"
|
||||
}
|
||||
|
||||
spotless {
|
||||
format("svg") {
|
||||
target("src/**/*.svg")
|
||||
trimTrailingWhitespace()
|
||||
endWithNewline()
|
||||
}
|
||||
}
|
||||
|
||||
valkyrie {
|
||||
packageName = "mihon.icons.custommaterialsymbols"
|
||||
generateAtSync = true
|
||||
|
||||
imageVector {
|
||||
suppressUnusedReceiverWarning = true
|
||||
}
|
||||
|
||||
iconPack {
|
||||
name = "CustomMaterialSymbols"
|
||||
targetSourceSet = "main"
|
||||
|
||||
nested {
|
||||
name = "Rounded"
|
||||
sourceFolder = "rounded"
|
||||
autoMirror = false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
dependencies {
|
||||
api(libs.androidx.compose.ui)
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
<!--
|
||||
Custom Material Symbols Rounded 'crop_off'.
|
||||
Crop from Material Symbols Rounded 'crop'.
|
||||
Off slash drawn at the Material Symbols stroke weight; it joins the lower-left arms and is cut clear on its upper-right side.
|
||||
Copyright (C) Google LLC
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24"><path d="M240 -920Q223 -920 211.5 -908.5Q200 -897 200 -880L200 -873.1L280 -793.1L280 -880Q280 -897 268.5 -908.5Q257 -920 240 -920ZM280 -793.1L280 -793.1L280 -793.1L280 -793.1ZM360 -760L360 -713.1L360 -713.1L393.1 -680L680 -680L680 -393.1L713.1 -360L760 -360L760 -680Q760 -713 736.5 -736.5Q713 -760 680 -760ZM280 -623.4L623.4 -280L280 -280L280 -623.4ZM793.1 -280L873.1 -200L880 -200Q897 -200 908.5 -211.5Q920 -223 920 -240Q920 -257 908.5 -268.5Q897 -280 880 -280ZM120 -880C109.8 -880 99.5 -876.1 91.7 -868.3C76.1 -852.7 76.1 -827.3 91.7 -811.7L143.4 -760L80 -760Q63 -760 51.5 -748.5Q40 -737 40 -720Q40 -703 51.5 -691.5Q63 -680 80 -680L200 -680L200 -280Q200 -247 223.5 -223.5Q247 -200 280 -200L680 -200L680 -80Q680 -63 691.5 -51.5Q703 -40 720 -40Q737 -40 748.5 -51.5Q760 -63 760 -80L760 -143.4L811.7 -91.7C819.5 -83.9 829.8 -80 840 -80C850.2 -80 860.5 -83.9 868.3 -91.7C883.9 -107.3 883.9 -132.7 868.3 -148.3L148.3 -868.3C140.5 -876.1 130.2 -880 120 -880Z"/></svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
@@ -0,0 +1,7 @@
|
||||
<!--
|
||||
Custom Material Symbols Rounded 'done_previous'.
|
||||
Check and arrow drawn at the Material Symbols stroke weight, following the layout of the former ic_done_prev icon.
|
||||
Copyright (C) Google LLC
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24"><path d="M790 -730C779.8 -730 769.5 -726.1 761.7 -718.3L360 -316.6L360 -316.6L198.3 -478.3C190.5 -486.1 180.2 -490 170 -490C159.8 -490 149.5 -486.1 141.7 -478.3C126.1 -462.7 126.1 -437.3 141.7 -421.7L331.7 -231.7C339.5 -223.9 349.8 -220 360 -220C370.2 -220 380.5 -223.9 388.3 -231.7L818.3 -661.7C833.9 -677.3 833.9 -702.7 818.3 -718.3C810.5 -726.1 800.2 -730 790 -730ZM720 -420C697.9 -420 680 -402.1 680 -380L680 -226.6L628.3 -278.3C620.5 -286.1 610.2 -290 600 -290C589.8 -290 579.5 -286.1 571.7 -278.3C556.1 -262.7 556.1 -237.3 571.7 -221.7L691.7 -101.7L691.7 -101.7C691.8 -101.7 691.8 -101.6 691.8 -101.6L691.8 -101.6C695.6 -97.8 700 -95 704.7 -93L704.7 -93C709.4 -91.1 714.6 -90 720 -90C725.4 -90 730.6 -91.1 735.3 -93L735.3 -93C740 -95 744.4 -97.8 748.2 -101.6L748.2 -101.6C748.2 -101.6 748.2 -101.7 748.3 -101.7L748.3 -101.7L868.3 -221.7C883.9 -237.3 883.9 -262.7 868.3 -278.3C860.5 -286.1 850.2 -290 840 -290C829.8 -290 819.5 -286.1 811.7 -278.3L760 -226.6L760 -380C760 -402.1 742.1 -420 720 -420Z"/></svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
@@ -0,0 +1,7 @@
|
||||
<!--
|
||||
Custom Material Symbols Rounded 'download_arrow'.
|
||||
Arrow from Material Symbols Rounded 'downloading'.
|
||||
Copyright (C) Google LLC
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24"><path d="M479 -680Q462 -680 450.5 -668.5Q439 -657 439 -640L439 -435L364 -511Q352 -523 335.5 -523Q319 -523 307 -511Q295 -499 294.5 -482.5Q294 -466 306 -454L451 -308Q462 -297 479 -297Q496 -297 507 -308L650 -451Q662 -463 662.5 -480Q663 -497 651 -509Q639 -521 622 -521Q605 -521 593 -509L519 -435L519 -640Q519 -657 507.5 -668.5Q496 -680 479 -680Z"/></svg>
|
||||
|
After Width: | Height: | Size: 618 B |
@@ -0,0 +1,8 @@
|
||||
<!--
|
||||
Custom Material Symbols Rounded 'download_circle'.
|
||||
Ring from Material Symbols Rounded 'arrow_circle_down'.
|
||||
Arrow from Material Symbols Rounded 'downloading'.
|
||||
Copyright (C) Google LLC
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24"><path d="M479 -680Q462 -680 450.5 -668.5Q439 -657 439 -640L439 -435L364 -511Q352 -523 335.5 -523Q319 -523 307 -511Q295 -499 294.5 -482.5Q294 -466 306 -454L451 -308Q462 -297 479 -297Q496 -297 507 -308L650 -451Q662 -463 662.5 -480Q663 -497 651 -509Q639 -521 622 -521Q605 -521 593 -509L519 -435L519 -640Q519 -657 507.5 -668.5Q496 -680 479 -680ZM480 -810C662.3 -810 810 -662.3 810 -480C810 -297.7 662.3 -150 480 -150C297.7 -150 150 -297.7 150 -480C150 -662.3 297.7 -810 480 -810ZM480 -880Q397 -880 324 -848.5Q251 -817 197 -763Q143 -709 111.5 -636Q80 -563 80 -480Q80 -397 111.5 -324Q143 -251 197 -197Q251 -143 324 -111.5Q397 -80 480 -80Q563 -80 636 -111.5Q709 -143 763 -197Q817 -251 848.5 -324Q880 -397 880 -480Q880 -563 848.5 -636Q817 -709 763 -763Q709 -817 636 -848.5Q563 -880 480 -880Z"/></svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
@@ -0,0 +1,9 @@
|
||||
<!--
|
||||
Custom Material Symbols Rounded 'reader_left_to_right'.
|
||||
Frame from Material Symbols Rounded 'mobile_gear'.
|
||||
Arrow from Material Symbols Rounded 'mobile_arrow_right', moved left so its tail runs into the frame.
|
||||
Page edge drawn at the Material Symbols stroke weight.
|
||||
Copyright (C) Google LLC
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24"><path d="M600 -660C577.9 -660 560 -642.1 560 -620L560 -340C560 -317.9 577.9 -300 600 -300C622.1 -300 640 -317.9 640 -340L640 -620C640 -642.1 622.1 -660 600 -660ZM680 -840L680 -120L280 -120L280 -440L383 -440L348 -404Q337 -393 337 -376.5Q337 -360 349 -348Q360 -337 377 -337Q394 -337 405 -348L509 -452Q515 -458 517.5 -465Q520 -472 520 -480Q520 -488 517.5 -495Q515 -502 509 -508L405 -612Q394 -623 377.5 -623.5Q376.8 -623.5 376.2 -623.5Q360.5 -623.5 349 -612Q338 -601 337.5 -584.5Q337 -568 348 -556L383 -520L280 -520L280 -840ZM280 -920Q247 -920 223.5 -896.5Q200 -873 200 -840L200 -120Q200 -87 223.5 -63.5Q247 -40 280 -40L680 -40Q713 -40 736.5 -63.5Q760 -87 760 -120L760 -524Q778 -531 789 -546Q800 -561 800 -580L800 -660Q800 -679 789 -694Q778 -709 760 -716L760 -840Q760 -873 736.5 -896.5Q713 -920 680 -920Z"/></svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
@@ -0,0 +1,8 @@
|
||||
<!--
|
||||
Custom Material Symbols Rounded 'reader_long_strip'.
|
||||
Frame from Material Symbols Rounded 'mobile_gear'.
|
||||
Full-height arrow drawn at the Material Symbols stroke weight.
|
||||
Copyright (C) Google LLC
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24"><path d="M480 -800C457.9 -800 440 -782.1 440 -760L440 -316.6L440 -316.6L440 -316.6L440 -316.6L408.3 -348.3C400.5 -356.1 390.2 -360 380 -360C369.8 -360 359.5 -356.1 351.7 -348.3C336.1 -332.7 336.1 -307.3 351.7 -291.7L451.7 -191.7C451.7 -191.7 451.8 -191.7 451.8 -191.6L451.8 -191.6C455.6 -187.8 460 -185 464.7 -183L464.7 -183C469.4 -181.1 474.6 -180 480 -180C485.4 -180 490.6 -181.1 495.3 -183L495.3 -183C500 -185 504.4 -187.8 508.2 -191.6L508.2 -191.6C508.2 -191.7 508.3 -191.7 508.3 -191.7L608.3 -291.7C623.9 -307.3 623.9 -332.7 608.3 -348.3C600.5 -356.1 590.2 -360 580 -360C569.8 -360 559.5 -356.1 551.7 -348.3L520 -316.6L520 -760C520 -782.1 502.1 -800 480 -800ZM680 -840L680 -120L280 -120L280 -840ZM280 -920Q247 -920 223.5 -896.5Q200 -873 200 -840L200 -120Q200 -87 223.5 -63.5Q247 -40 280 -40L680 -40Q713 -40 736.5 -63.5Q760 -87 760 -120L760 -524Q778 -531 789 -546Q800 -561 800 -580L800 -660Q800 -679 789 -694Q778 -709 760 -716L760 -840Q760 -873 736.5 -896.5Q713 -920 680 -920Z"/></svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
@@ -0,0 +1,8 @@
|
||||
<!--
|
||||
Custom Material Symbols Rounded 'reader_long_strip_gaps'.
|
||||
Frame from Material Symbols Rounded 'mobile_gear'.
|
||||
Full-height arrow with a gap, drawn at the Material Symbols stroke weight.
|
||||
Copyright (C) Google LLC
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24"><path d="M480 -800C457.9 -800 440 -782.1 440 -760L440 -600C440 -577.9 457.9 -560 480 -560C502.1 -560 520 -577.9 520 -600L520 -760C520 -782.1 502.1 -800 480 -800ZM480 -510C457.9 -510 440 -492.1 440 -470L440 -316.6L408.3 -348.3C400.5 -356.1 390.2 -360 380 -360C369.8 -360 359.5 -356.1 351.7 -348.3C336.1 -332.7 336.1 -307.3 351.7 -291.7L451.7 -191.7C451.7 -191.7 451.8 -191.7 451.8 -191.6L451.8 -191.6C455.6 -187.8 460 -185 464.7 -183L464.7 -183C469.4 -181.1 474.6 -180 480 -180C485.4 -180 490.6 -181.1 495.3 -183L495.3 -183C500 -185 504.4 -187.8 508.2 -191.6L508.2 -191.6C508.2 -191.7 508.3 -191.7 508.3 -191.7L608.3 -291.7C623.9 -307.3 623.9 -332.7 608.3 -348.3C600.5 -356.1 590.2 -360 580 -360C569.8 -360 559.5 -356.1 551.7 -348.3L520 -316.6L520 -470C520 -492.1 502.1 -510 480 -510ZM680 -840L680 -120L280 -120L280 -840ZM280 -920Q247 -920 223.5 -896.5Q200 -873 200 -840L200 -120Q200 -87 223.5 -63.5Q247 -40 280 -40L680 -40Q713 -40 736.5 -63.5Q760 -87 760 -120L760 -524Q778 -531 789 -546Q800 -561 800 -580L800 -660Q800 -679 789 -694Q778 -709 760 -716L760 -840Q760 -873 736.5 -896.5Q713 -920 680 -920Z"/></svg>
|
||||
|
After Width: | Height: | Size: 1.4 KiB |
@@ -0,0 +1,10 @@
|
||||
<!--
|
||||
Custom Material Symbols Rounded 'reader_right_to_left'.
|
||||
Mirror of 'reader_left_to_right' inside the frame; the frame keeps its side button on the right.
|
||||
Frame from Material Symbols Rounded 'mobile_gear'.
|
||||
Arrow from Material Symbols Rounded 'mobile_arrow_right', mirrored.
|
||||
Page edge drawn at the Material Symbols stroke weight.
|
||||
Copyright (C) Google LLC
|
||||
SPDX-License-Identifier: Apache-2.0
|
||||
-->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 -960 960 960" width="24"><path d="M360 -660C337.9 -660 320 -642.1 320 -620L320 -340C320 -317.9 337.9 -300 360 -300C382.1 -300 400 -317.9 400 -340L400 -620C400 -642.1 382.1 -660 360 -660ZM680 -840L680 -520L577 -520L612 -556Q623 -568 622.5 -584.5Q622 -601 611 -612Q599.5 -623.5 583.8 -623.5Q583.2 -623.5 582.5 -623.5Q566 -623 555 -612L451 -508Q445 -502 442.5 -495Q440 -488 440 -480Q440 -472 442.5 -465Q445 -458 451 -452L555 -348Q566 -337 583 -337Q600 -337 611 -348Q623 -360 623 -376.5Q623 -393 612 -404L577 -440L680 -440L680 -120L280 -120L280 -840ZM280 -920Q247 -920 223.5 -896.5Q200 -873 200 -840L200 -120Q200 -87 223.5 -63.5Q247 -40 280 -40L680 -40Q713 -40 736.5 -63.5Q760 -87 760 -120L760 -524Q778 -531 789 -546Q800 -561 800 -580L800 -660Q800 -679 789 -694Q778 -709 760 -716L760 -840Q760 -873 736.5 -896.5Q713 -920 680 -920Z"/></svg>
|
||||
|
After Width: | Height: | Size: 1.3 KiB |