mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-04-20 22:23:37 +00:00
refactor(ui): compose resources, domain layer (#4628)
Signed-off-by: James Rich <2199651+jamesarich@users.noreply.github.com>
This commit is contained in:
parent
96adc70401
commit
2676a51647
322 changed files with 3031 additions and 2790 deletions
|
|
@ -42,9 +42,9 @@ import androidx.compose.ui.text.style.TextDecoration
|
|||
import androidx.compose.ui.unit.dp
|
||||
import org.jetbrains.compose.resources.StringResource
|
||||
import org.jetbrains.compose.resources.stringResource
|
||||
import org.meshtastic.core.strings.Res
|
||||
import org.meshtastic.core.strings.cancel
|
||||
import org.meshtastic.core.strings.okay
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.cancel
|
||||
import org.meshtastic.core.resources.okay
|
||||
|
||||
/**
|
||||
* A comprehensive and flexible dialog component for the Meshtastic application.
|
||||
|
|
|
|||
|
|
@ -37,9 +37,9 @@ import androidx.compose.ui.Modifier
|
|||
import androidx.compose.ui.text.style.TextOverflow
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import org.meshtastic.core.strings.Res
|
||||
import org.meshtastic.core.strings.clear
|
||||
import org.meshtastic.core.strings.close
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.clear
|
||||
import org.meshtastic.core.resources.close
|
||||
|
||||
@OptIn(ExperimentalMaterial3Api::class)
|
||||
@Composable
|
||||
|
|
|
|||
|
|
@ -22,8 +22,8 @@ import androidx.compose.ui.Modifier
|
|||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.tooling.preview.PreviewLightDark
|
||||
import org.jetbrains.compose.resources.stringResource
|
||||
import org.meshtastic.core.strings.Res
|
||||
import org.meshtastic.core.strings.channel
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.channel
|
||||
import org.meshtastic.core.ui.icon.Channel
|
||||
import org.meshtastic.core.ui.icon.Counter0
|
||||
import org.meshtastic.core.ui.icon.Counter1
|
||||
|
|
|
|||
|
|
@ -30,8 +30,8 @@ import com.google.zxing.common.BitMatrix
|
|||
import org.jetbrains.compose.resources.stringResource
|
||||
import org.meshtastic.core.database.model.Node
|
||||
import org.meshtastic.core.model.util.getSharedContactUrl
|
||||
import org.meshtastic.core.strings.Res
|
||||
import org.meshtastic.core.strings.share_contact
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.share_contact
|
||||
import org.meshtastic.proto.SharedContact
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2025 Meshtastic LLC
|
||||
* Copyright (c) 2025-2026 Meshtastic LLC
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -14,7 +14,6 @@
|
|||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package org.meshtastic.core.ui.component
|
||||
|
||||
import android.content.ClipData
|
||||
|
|
@ -29,8 +28,8 @@ import androidx.compose.ui.platform.ClipEntry
|
|||
import androidx.compose.ui.platform.LocalClipboard
|
||||
import kotlinx.coroutines.launch
|
||||
import org.jetbrains.compose.resources.stringResource
|
||||
import org.meshtastic.core.strings.Res
|
||||
import org.meshtastic.core.strings.copy
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.copy
|
||||
|
||||
@Composable
|
||||
fun CopyIconButton(
|
||||
|
|
|
|||
|
|
@ -22,8 +22,8 @@ import androidx.compose.ui.Modifier
|
|||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.tooling.preview.PreviewLightDark
|
||||
import org.jetbrains.compose.resources.stringResource
|
||||
import org.meshtastic.core.strings.Res
|
||||
import org.meshtastic.core.strings.distance
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.distance
|
||||
import org.meshtastic.core.ui.icon.Distance
|
||||
import org.meshtastic.core.ui.icon.MeshtasticIcons
|
||||
import org.meshtastic.core.ui.theme.AppTheme
|
||||
|
|
|
|||
|
|
@ -47,9 +47,9 @@ import org.jetbrains.compose.resources.stringResource
|
|||
import org.meshtastic.core.model.Channel
|
||||
import org.meshtastic.core.model.util.base64ToByteString
|
||||
import org.meshtastic.core.model.util.encodeToString
|
||||
import org.meshtastic.core.strings.Res
|
||||
import org.meshtastic.core.strings.error
|
||||
import org.meshtastic.core.strings.reset
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.error
|
||||
import org.meshtastic.core.resources.reset
|
||||
|
||||
@Suppress("LongMethod", "CyclomaticComplexMethod", "MagicNumber")
|
||||
@Composable
|
||||
|
|
|
|||
|
|
@ -39,13 +39,13 @@ import androidx.compose.ui.text.input.KeyboardType
|
|||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import org.jetbrains.compose.resources.stringResource
|
||||
import org.meshtastic.core.strings.Res
|
||||
import org.meshtastic.core.strings.add
|
||||
import org.meshtastic.core.strings.delete
|
||||
import org.meshtastic.core.strings.gpio_pin
|
||||
import org.meshtastic.core.strings.ignore_incoming
|
||||
import org.meshtastic.core.strings.name
|
||||
import org.meshtastic.core.strings.type
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.add
|
||||
import org.meshtastic.core.resources.delete
|
||||
import org.meshtastic.core.resources.gpio_pin
|
||||
import org.meshtastic.core.resources.ignore_incoming
|
||||
import org.meshtastic.core.resources.name
|
||||
import org.meshtastic.core.resources.type
|
||||
import org.meshtastic.proto.RemoteHardwarePin
|
||||
import org.meshtastic.proto.RemoteHardwarePinType
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2025 Meshtastic LLC
|
||||
* Copyright (c) 2025-2026 Meshtastic LLC
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -14,7 +14,6 @@
|
|||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package org.meshtastic.core.ui.component
|
||||
|
||||
import androidx.compose.foundation.text.KeyboardActions
|
||||
|
|
@ -35,9 +34,9 @@ import androidx.compose.ui.text.input.PasswordVisualTransformation
|
|||
import androidx.compose.ui.text.input.VisualTransformation
|
||||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import org.jetbrains.compose.resources.stringResource
|
||||
import org.meshtastic.core.strings.Res
|
||||
import org.meshtastic.core.strings.hide_password
|
||||
import org.meshtastic.core.strings.show_password
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.hide_password
|
||||
import org.meshtastic.core.resources.show_password
|
||||
|
||||
@Composable
|
||||
fun EditPasswordPreference(
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2025 Meshtastic LLC
|
||||
* Copyright (c) 2025-2026 Meshtastic LLC
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -14,7 +14,6 @@
|
|||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package org.meshtastic.core.ui.component
|
||||
|
||||
import androidx.compose.foundation.layout.Box
|
||||
|
|
@ -44,8 +43,8 @@ import androidx.compose.ui.text.input.VisualTransformation
|
|||
import androidx.compose.ui.tooling.preview.Preview
|
||||
import androidx.compose.ui.unit.dp
|
||||
import org.jetbrains.compose.resources.stringResource
|
||||
import org.meshtastic.core.strings.Res
|
||||
import org.meshtastic.core.strings.error
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.error
|
||||
|
||||
@Composable
|
||||
fun SignedIntegerEditTextPreference(
|
||||
|
|
|
|||
|
|
@ -24,9 +24,9 @@ import androidx.compose.ui.tooling.preview.Preview
|
|||
import org.jetbrains.compose.resources.stringResource
|
||||
import org.meshtastic.core.model.util.metersIn
|
||||
import org.meshtastic.core.model.util.toString
|
||||
import org.meshtastic.core.strings.Res
|
||||
import org.meshtastic.core.strings.altitude
|
||||
import org.meshtastic.core.strings.elevation_suffix
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.altitude
|
||||
import org.meshtastic.core.resources.elevation_suffix
|
||||
import org.meshtastic.core.ui.icon.Elevation
|
||||
import org.meshtastic.core.ui.icon.MeshtasticIcons
|
||||
import org.meshtastic.proto.Config.DisplayConfig.DisplayUnits
|
||||
|
|
|
|||
|
|
@ -22,8 +22,8 @@ import androidx.compose.ui.Modifier
|
|||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.tooling.preview.PreviewLightDark
|
||||
import org.jetbrains.compose.resources.stringResource
|
||||
import org.meshtastic.core.strings.Res
|
||||
import org.meshtastic.core.strings.hops_away
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.hops_away
|
||||
import org.meshtastic.core.ui.icon.Hops
|
||||
import org.meshtastic.core.ui.icon.MeshtasticIcons
|
||||
import org.meshtastic.core.ui.theme.AppTheme
|
||||
|
|
|
|||
|
|
@ -41,22 +41,22 @@ import androidx.core.net.toUri
|
|||
import org.jetbrains.compose.resources.stringResource
|
||||
import org.meshtastic.core.barcode.rememberBarcodeScanner
|
||||
import org.meshtastic.core.nfc.NfcScannerEffect
|
||||
import org.meshtastic.core.strings.Res
|
||||
import org.meshtastic.core.strings.cancel
|
||||
import org.meshtastic.core.strings.import_label
|
||||
import org.meshtastic.core.strings.input_channel_url
|
||||
import org.meshtastic.core.strings.input_shared_contact_url
|
||||
import org.meshtastic.core.strings.nfc_disabled
|
||||
import org.meshtastic.core.strings.okay
|
||||
import org.meshtastic.core.strings.open_settings
|
||||
import org.meshtastic.core.strings.scan_channels_nfc
|
||||
import org.meshtastic.core.strings.scan_channels_qr
|
||||
import org.meshtastic.core.strings.scan_nfc
|
||||
import org.meshtastic.core.strings.scan_nfc_text
|
||||
import org.meshtastic.core.strings.scan_shared_contact_nfc
|
||||
import org.meshtastic.core.strings.scan_shared_contact_qr
|
||||
import org.meshtastic.core.strings.share_channels_qr
|
||||
import org.meshtastic.core.strings.url
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.cancel
|
||||
import org.meshtastic.core.resources.import_label
|
||||
import org.meshtastic.core.resources.input_channel_url
|
||||
import org.meshtastic.core.resources.input_shared_contact_url
|
||||
import org.meshtastic.core.resources.nfc_disabled
|
||||
import org.meshtastic.core.resources.okay
|
||||
import org.meshtastic.core.resources.open_settings
|
||||
import org.meshtastic.core.resources.scan_channels_nfc
|
||||
import org.meshtastic.core.resources.scan_channels_qr
|
||||
import org.meshtastic.core.resources.scan_nfc
|
||||
import org.meshtastic.core.resources.scan_nfc_text
|
||||
import org.meshtastic.core.resources.scan_shared_contact_nfc
|
||||
import org.meshtastic.core.resources.scan_shared_contact_qr
|
||||
import org.meshtastic.core.resources.share_channels_qr
|
||||
import org.meshtastic.core.resources.url
|
||||
import org.meshtastic.core.ui.icon.MeshtasticIcons
|
||||
import org.meshtastic.core.ui.icon.QrCode2
|
||||
import org.meshtastic.core.ui.theme.AppTheme
|
||||
|
|
|
|||
|
|
@ -50,10 +50,10 @@ import androidx.compose.ui.tooling.preview.Preview
|
|||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import org.jetbrains.compose.resources.stringResource
|
||||
import org.meshtastic.core.strings.Res
|
||||
import org.meshtastic.core.strings.air_quality_icon
|
||||
import org.meshtastic.core.strings.close
|
||||
import org.meshtastic.core.strings.indoor_air_quality_iaq
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.air_quality_icon
|
||||
import org.meshtastic.core.resources.close
|
||||
import org.meshtastic.core.resources.indoor_air_quality_iaq
|
||||
import org.meshtastic.core.ui.icon.MeshtasticIcons
|
||||
import org.meshtastic.core.ui.icon.ThumbUp
|
||||
import org.meshtastic.core.ui.icon.Warning
|
||||
|
|
|
|||
|
|
@ -20,14 +20,13 @@ import androidx.compose.material3.MaterialTheme
|
|||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.graphics.vector.ImageVector
|
||||
import androidx.compose.ui.res.vectorResource
|
||||
import androidx.compose.ui.tooling.preview.PreviewLightDark
|
||||
import org.jetbrains.compose.resources.stringResource
|
||||
import org.jetbrains.compose.resources.vectorResource
|
||||
import org.meshtastic.core.common.util.nowSeconds
|
||||
import org.meshtastic.core.strings.Res
|
||||
import org.meshtastic.core.strings.node_sort_last_heard
|
||||
import org.meshtastic.core.ui.R
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.ic_antenna
|
||||
import org.meshtastic.core.resources.node_sort_last_heard
|
||||
import org.meshtastic.core.ui.theme.AppTheme
|
||||
import org.meshtastic.core.ui.util.formatAgo
|
||||
|
||||
|
|
@ -40,7 +39,7 @@ fun LastHeardInfo(
|
|||
) {
|
||||
IconInfo(
|
||||
modifier = modifier,
|
||||
icon = ImageVector.vectorResource(id = R.drawable.ic_antenna_24),
|
||||
icon = vectorResource(Res.drawable.ic_antenna),
|
||||
contentDescription = stringResource(Res.string.node_sort_last_heard),
|
||||
label = if (showLabel) stringResource(Res.string.node_sort_last_heard) else null,
|
||||
text = formatAgo(lastHeard),
|
||||
|
|
|
|||
|
|
@ -45,15 +45,15 @@ import androidx.compose.ui.graphics.vector.ImageVector
|
|||
import androidx.compose.ui.unit.dp
|
||||
import org.jetbrains.compose.resources.StringResource
|
||||
import org.jetbrains.compose.resources.stringResource
|
||||
import org.meshtastic.core.strings.Res
|
||||
import org.meshtastic.core.strings.bad
|
||||
import org.meshtastic.core.strings.fair
|
||||
import org.meshtastic.core.strings.good
|
||||
import org.meshtastic.core.strings.none_quality
|
||||
import org.meshtastic.core.strings.rssi
|
||||
import org.meshtastic.core.strings.signal
|
||||
import org.meshtastic.core.strings.signal_quality
|
||||
import org.meshtastic.core.strings.snr
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.bad
|
||||
import org.meshtastic.core.resources.fair
|
||||
import org.meshtastic.core.resources.good
|
||||
import org.meshtastic.core.resources.none_quality
|
||||
import org.meshtastic.core.resources.rssi
|
||||
import org.meshtastic.core.resources.signal
|
||||
import org.meshtastic.core.resources.signal_quality
|
||||
import org.meshtastic.core.resources.snr
|
||||
import org.meshtastic.core.ui.theme.StatusColors.StatusGreen
|
||||
import org.meshtastic.core.ui.theme.StatusColors.StatusOrange
|
||||
import org.meshtastic.core.ui.theme.StatusColors.StatusRed
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2025 Meshtastic LLC
|
||||
* Copyright (c) 2025-2026 Meshtastic LLC
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -14,7 +14,6 @@
|
|||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package org.meshtastic.core.ui.component
|
||||
|
||||
import androidx.compose.animation.AnimatedVisibility
|
||||
|
|
@ -32,17 +31,16 @@ import androidx.compose.material3.Text
|
|||
import androidx.compose.material3.TopAppBar
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.vector.ImageVector
|
||||
import androidx.compose.ui.res.vectorResource
|
||||
import androidx.compose.ui.text.style.TextOverflow
|
||||
import androidx.compose.ui.tooling.preview.PreviewLightDark
|
||||
import androidx.compose.ui.tooling.preview.PreviewParameter
|
||||
import androidx.compose.ui.unit.dp
|
||||
import org.jetbrains.compose.resources.stringResource
|
||||
import org.jetbrains.compose.resources.vectorResource
|
||||
import org.meshtastic.core.database.model.Node
|
||||
import org.meshtastic.core.strings.R
|
||||
import org.meshtastic.core.strings.Res
|
||||
import org.meshtastic.core.strings.navigate_back
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.ic_meshtastic
|
||||
import org.meshtastic.core.resources.navigate_back
|
||||
import org.meshtastic.core.ui.component.preview.BooleanProvider
|
||||
import org.meshtastic.core.ui.component.preview.previewNode
|
||||
import org.meshtastic.core.ui.theme.AppTheme
|
||||
|
|
@ -82,12 +80,7 @@ fun MainAppBar(
|
|||
}
|
||||
}
|
||||
} else {
|
||||
{
|
||||
Icon(
|
||||
imageVector = ImageVector.vectorResource(id = org.meshtastic.core.ui.R.drawable.ic_meshtastic),
|
||||
contentDescription = null,
|
||||
)
|
||||
}
|
||||
{ Icon(imageVector = vectorResource(Res.drawable.ic_meshtastic), contentDescription = null) }
|
||||
},
|
||||
actions = {
|
||||
TopBarActions(ourNode = ourNode, showNodeChip = showNodeChip, actions = actions, onClickChip = onClickChip)
|
||||
|
|
|
|||
|
|
@ -39,8 +39,8 @@ import androidx.compose.ui.tooling.preview.PreviewParameterProvider
|
|||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import org.jetbrains.compose.resources.stringResource
|
||||
import org.meshtastic.core.strings.Res
|
||||
import org.meshtastic.core.strings.unknown
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.unknown
|
||||
import org.meshtastic.core.ui.icon.BatteryEmpty
|
||||
import org.meshtastic.core.ui.icon.BatteryUnknown
|
||||
import org.meshtastic.core.ui.icon.MeshtasticIcons
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2025 Meshtastic LLC
|
||||
* Copyright (c) 2025-2026 Meshtastic LLC
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -14,7 +14,6 @@
|
|||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package org.meshtastic.core.ui.component
|
||||
|
||||
import androidx.compose.foundation.layout.Arrangement
|
||||
|
|
@ -40,8 +39,8 @@ import androidx.compose.ui.tooling.preview.PreviewParameter
|
|||
import androidx.compose.ui.tooling.preview.PreviewParameterProvider
|
||||
import androidx.compose.ui.unit.dp
|
||||
import org.jetbrains.compose.resources.stringResource
|
||||
import org.meshtastic.core.strings.Res
|
||||
import org.meshtastic.core.strings.dbm_value
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.dbm_value
|
||||
import org.meshtastic.core.ui.icon.MeshtasticIcons
|
||||
import org.meshtastic.core.ui.icon.SignalCellular0Bar
|
||||
import org.meshtastic.core.ui.icon.SignalCellular1Bar
|
||||
|
|
|
|||
|
|
@ -55,19 +55,19 @@ import okio.ByteString
|
|||
import org.jetbrains.compose.resources.StringResource
|
||||
import org.jetbrains.compose.resources.stringResource
|
||||
import org.meshtastic.core.model.Channel
|
||||
import org.meshtastic.core.strings.Res
|
||||
import org.meshtastic.core.strings.config_security_public_key
|
||||
import org.meshtastic.core.strings.encryption_error
|
||||
import org.meshtastic.core.strings.encryption_error_text
|
||||
import org.meshtastic.core.strings.encryption_pkc
|
||||
import org.meshtastic.core.strings.encryption_pkc_text
|
||||
import org.meshtastic.core.strings.encryption_psk
|
||||
import org.meshtastic.core.strings.encryption_psk_text
|
||||
import org.meshtastic.core.strings.error
|
||||
import org.meshtastic.core.strings.security_icon_help_dismiss
|
||||
import org.meshtastic.core.strings.security_icon_help_show_all
|
||||
import org.meshtastic.core.strings.security_icon_help_show_less
|
||||
import org.meshtastic.core.strings.show_all_key_title
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.config_security_public_key
|
||||
import org.meshtastic.core.resources.encryption_error
|
||||
import org.meshtastic.core.resources.encryption_error_text
|
||||
import org.meshtastic.core.resources.encryption_pkc
|
||||
import org.meshtastic.core.resources.encryption_pkc_text
|
||||
import org.meshtastic.core.resources.encryption_psk
|
||||
import org.meshtastic.core.resources.encryption_psk_text
|
||||
import org.meshtastic.core.resources.error
|
||||
import org.meshtastic.core.resources.security_icon_help_dismiss
|
||||
import org.meshtastic.core.resources.security_icon_help_show_all
|
||||
import org.meshtastic.core.resources.security_icon_help_show_less
|
||||
import org.meshtastic.core.resources.show_all_key_title
|
||||
import org.meshtastic.core.ui.icon.KeyOff
|
||||
import org.meshtastic.core.ui.icon.Lock
|
||||
import org.meshtastic.core.ui.icon.LockOpen
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2025 Meshtastic LLC
|
||||
* Copyright (c) 2025-2026 Meshtastic LLC
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -14,7 +14,6 @@
|
|||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
package org.meshtastic.core.ui.component
|
||||
|
||||
import androidx.compose.foundation.layout.Column
|
||||
|
|
@ -33,9 +32,9 @@ import androidx.compose.ui.unit.dp
|
|||
import org.jetbrains.compose.resources.stringResource
|
||||
import org.meshtastic.core.model.util.DistanceUnit
|
||||
import org.meshtastic.core.model.util.toDistanceString
|
||||
import org.meshtastic.core.strings.Res
|
||||
import org.meshtastic.core.strings.position_enabled
|
||||
import org.meshtastic.core.strings.precise_location
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.position_enabled
|
||||
import org.meshtastic.core.resources.precise_location
|
||||
import kotlin.math.pow
|
||||
import kotlin.math.roundToInt
|
||||
|
||||
|
|
|
|||
|
|
@ -48,11 +48,11 @@ import androidx.compose.ui.text.style.TextOverflow
|
|||
import androidx.compose.ui.unit.dp
|
||||
import kotlinx.coroutines.launch
|
||||
import org.jetbrains.compose.resources.stringResource
|
||||
import org.meshtastic.core.strings.Res
|
||||
import org.meshtastic.core.strings.copy
|
||||
import org.meshtastic.core.strings.okay
|
||||
import org.meshtastic.core.strings.qr_code
|
||||
import org.meshtastic.core.strings.url
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.copy
|
||||
import org.meshtastic.core.resources.okay
|
||||
import org.meshtastic.core.resources.qr_code
|
||||
import org.meshtastic.core.resources.url
|
||||
import org.meshtastic.core.ui.util.findActivity
|
||||
|
||||
private const val QR_IMAGE_SIZE = 320
|
||||
|
|
|
|||
|
|
@ -22,8 +22,8 @@ import androidx.compose.ui.Modifier
|
|||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.tooling.preview.PreviewLightDark
|
||||
import org.jetbrains.compose.resources.stringResource
|
||||
import org.meshtastic.core.strings.Res
|
||||
import org.meshtastic.core.strings.sats
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.sats
|
||||
import org.meshtastic.core.ui.icon.MeshtasticIcons
|
||||
import org.meshtastic.core.ui.icon.Satellites
|
||||
import org.meshtastic.core.ui.theme.AppTheme
|
||||
|
|
|
|||
|
|
@ -57,22 +57,22 @@ import org.jetbrains.compose.resources.StringResource
|
|||
import org.jetbrains.compose.resources.stringResource
|
||||
import org.meshtastic.core.model.Channel
|
||||
import org.meshtastic.core.model.util.getChannel
|
||||
import org.meshtastic.core.strings.Res
|
||||
import org.meshtastic.core.strings.security_icon_badge_warning_description
|
||||
import org.meshtastic.core.strings.security_icon_description
|
||||
import org.meshtastic.core.strings.security_icon_help_dismiss
|
||||
import org.meshtastic.core.strings.security_icon_help_green_lock
|
||||
import org.meshtastic.core.strings.security_icon_help_red_open_lock
|
||||
import org.meshtastic.core.strings.security_icon_help_show_all
|
||||
import org.meshtastic.core.strings.security_icon_help_show_less
|
||||
import org.meshtastic.core.strings.security_icon_help_title
|
||||
import org.meshtastic.core.strings.security_icon_help_title_all
|
||||
import org.meshtastic.core.strings.security_icon_help_warning_precise_mqtt
|
||||
import org.meshtastic.core.strings.security_icon_help_yellow_open_lock
|
||||
import org.meshtastic.core.strings.security_icon_insecure_no_precise
|
||||
import org.meshtastic.core.strings.security_icon_insecure_precise_only
|
||||
import org.meshtastic.core.strings.security_icon_secure
|
||||
import org.meshtastic.core.strings.security_icon_warning_precise_mqtt
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.security_icon_badge_warning_description
|
||||
import org.meshtastic.core.resources.security_icon_description
|
||||
import org.meshtastic.core.resources.security_icon_help_dismiss
|
||||
import org.meshtastic.core.resources.security_icon_help_green_lock
|
||||
import org.meshtastic.core.resources.security_icon_help_red_open_lock
|
||||
import org.meshtastic.core.resources.security_icon_help_show_all
|
||||
import org.meshtastic.core.resources.security_icon_help_show_less
|
||||
import org.meshtastic.core.resources.security_icon_help_title
|
||||
import org.meshtastic.core.resources.security_icon_help_title_all
|
||||
import org.meshtastic.core.resources.security_icon_help_warning_precise_mqtt
|
||||
import org.meshtastic.core.resources.security_icon_help_yellow_open_lock
|
||||
import org.meshtastic.core.resources.security_icon_insecure_no_precise
|
||||
import org.meshtastic.core.resources.security_icon_insecure_precise_only
|
||||
import org.meshtastic.core.resources.security_icon_secure
|
||||
import org.meshtastic.core.resources.security_icon_warning_precise_mqtt
|
||||
import org.meshtastic.core.ui.icon.Lock
|
||||
import org.meshtastic.core.ui.icon.LockOpen
|
||||
import org.meshtastic.core.ui.icon.MeshtasticIcons
|
||||
|
|
|
|||
|
|
@ -34,8 +34,8 @@ import androidx.compose.ui.unit.dp
|
|||
import androidx.compose.ui.unit.sp
|
||||
import org.jetbrains.compose.resources.stringResource
|
||||
import org.meshtastic.core.database.model.Node
|
||||
import org.meshtastic.core.strings.Res
|
||||
import org.meshtastic.core.strings.signal_quality
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.signal_quality
|
||||
import org.meshtastic.core.ui.component.preview.NodePreviewParameterProvider
|
||||
import org.meshtastic.core.ui.theme.AppTheme
|
||||
|
||||
|
|
|
|||
|
|
@ -39,19 +39,19 @@ import androidx.compose.ui.text.style.TextOverflow
|
|||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
import org.jetbrains.compose.resources.stringResource
|
||||
import org.meshtastic.core.strings.Res
|
||||
import org.meshtastic.core.strings.baro_pressure
|
||||
import org.meshtastic.core.strings.env_metrics_log
|
||||
import org.meshtastic.core.strings.humidity
|
||||
import org.meshtastic.core.strings.iaq
|
||||
import org.meshtastic.core.strings.node_id
|
||||
import org.meshtastic.core.strings.pax
|
||||
import org.meshtastic.core.strings.pax_metrics_log
|
||||
import org.meshtastic.core.strings.role
|
||||
import org.meshtastic.core.strings.soil_moisture
|
||||
import org.meshtastic.core.strings.soil_temperature
|
||||
import org.meshtastic.core.strings.temperature
|
||||
import org.meshtastic.core.strings.uptime
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.baro_pressure
|
||||
import org.meshtastic.core.resources.env_metrics_log
|
||||
import org.meshtastic.core.resources.humidity
|
||||
import org.meshtastic.core.resources.iaq
|
||||
import org.meshtastic.core.resources.node_id
|
||||
import org.meshtastic.core.resources.pax
|
||||
import org.meshtastic.core.resources.pax_metrics_log
|
||||
import org.meshtastic.core.resources.role
|
||||
import org.meshtastic.core.resources.soil_moisture
|
||||
import org.meshtastic.core.resources.soil_temperature
|
||||
import org.meshtastic.core.resources.temperature
|
||||
import org.meshtastic.core.resources.uptime
|
||||
import org.meshtastic.core.ui.icon.AirQuality
|
||||
import org.meshtastic.core.ui.icon.ArrowCircleUp
|
||||
import org.meshtastic.core.ui.icon.HardwareModel
|
||||
|
|
|
|||
|
|
@ -20,11 +20,11 @@ import androidx.compose.material3.Icon
|
|||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import org.jetbrains.compose.resources.stringResource
|
||||
import org.meshtastic.core.strings.Res
|
||||
import org.meshtastic.core.strings.internal
|
||||
import org.meshtastic.core.strings.via_api
|
||||
import org.meshtastic.core.strings.via_mqtt
|
||||
import org.meshtastic.core.strings.via_udp
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.internal
|
||||
import org.meshtastic.core.resources.via_api
|
||||
import org.meshtastic.core.resources.via_mqtt
|
||||
import org.meshtastic.core.resources.via_udp
|
||||
import org.meshtastic.core.ui.icon.Api
|
||||
import org.meshtastic.core.ui.icon.Cloud
|
||||
import org.meshtastic.core.ui.icon.Device
|
||||
|
|
|
|||
|
|
@ -18,33 +18,49 @@ package org.meshtastic.core.ui.icon
|
|||
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.graphics.vector.ImageVector
|
||||
import androidx.compose.ui.res.vectorResource
|
||||
import org.meshtastic.core.ui.R
|
||||
import org.meshtastic.core.resources.ic_counter_0
|
||||
import org.meshtastic.core.resources.ic_counter_1
|
||||
import org.meshtastic.core.resources.ic_counter_2
|
||||
import org.meshtastic.core.resources.ic_counter_3
|
||||
import org.meshtastic.core.resources.ic_counter_4
|
||||
import org.meshtastic.core.resources.ic_counter_5
|
||||
import org.meshtastic.core.resources.ic_counter_6
|
||||
import org.meshtastic.core.resources.ic_counter_7
|
||||
import org.meshtastic.core.resources.ic_counter_8
|
||||
|
||||
/** These are from Material Symbols drawables. */
|
||||
val MeshtasticIcons.Counter0: ImageVector
|
||||
@Composable get() = ImageVector.vectorResource(R.drawable.counter_0_24px)
|
||||
@Composable
|
||||
get() = org.jetbrains.compose.resources.vectorResource(org.meshtastic.core.resources.Res.drawable.ic_counter_0)
|
||||
|
||||
val MeshtasticIcons.Counter1: ImageVector
|
||||
@Composable get() = ImageVector.vectorResource(R.drawable.counter_1_24px)
|
||||
@Composable
|
||||
get() = org.jetbrains.compose.resources.vectorResource(org.meshtastic.core.resources.Res.drawable.ic_counter_1)
|
||||
|
||||
val MeshtasticIcons.Counter2: ImageVector
|
||||
@Composable get() = ImageVector.vectorResource(R.drawable.counter_2_24px)
|
||||
@Composable
|
||||
get() = org.jetbrains.compose.resources.vectorResource(org.meshtastic.core.resources.Res.drawable.ic_counter_2)
|
||||
|
||||
val MeshtasticIcons.Counter3: ImageVector
|
||||
@Composable get() = ImageVector.vectorResource(R.drawable.counter_3_24px)
|
||||
@Composable
|
||||
get() = org.jetbrains.compose.resources.vectorResource(org.meshtastic.core.resources.Res.drawable.ic_counter_3)
|
||||
|
||||
val MeshtasticIcons.Counter4: ImageVector
|
||||
@Composable get() = ImageVector.vectorResource(R.drawable.counter_4_24px)
|
||||
@Composable
|
||||
get() = org.jetbrains.compose.resources.vectorResource(org.meshtastic.core.resources.Res.drawable.ic_counter_4)
|
||||
|
||||
val MeshtasticIcons.Counter5: ImageVector
|
||||
@Composable get() = ImageVector.vectorResource(R.drawable.counter_5_24px)
|
||||
@Composable
|
||||
get() = org.jetbrains.compose.resources.vectorResource(org.meshtastic.core.resources.Res.drawable.ic_counter_5)
|
||||
|
||||
val MeshtasticIcons.Counter6: ImageVector
|
||||
@Composable get() = ImageVector.vectorResource(R.drawable.counter_6_24px)
|
||||
@Composable
|
||||
get() = org.jetbrains.compose.resources.vectorResource(org.meshtastic.core.resources.Res.drawable.ic_counter_6)
|
||||
|
||||
val MeshtasticIcons.Counter7: ImageVector
|
||||
@Composable get() = ImageVector.vectorResource(R.drawable.counter_7_24px)
|
||||
@Composable
|
||||
get() = org.jetbrains.compose.resources.vectorResource(org.meshtastic.core.resources.Res.drawable.ic_counter_7)
|
||||
|
||||
val MeshtasticIcons.Counter8: ImageVector
|
||||
@Composable get() = ImageVector.vectorResource(R.drawable.counter_8_24px)
|
||||
@Composable
|
||||
get() = org.jetbrains.compose.resources.vectorResource(org.meshtastic.core.resources.Res.drawable.ic_counter_8)
|
||||
|
|
|
|||
|
|
@ -33,9 +33,10 @@ import androidx.compose.ui.graphics.Color
|
|||
import androidx.compose.ui.graphics.SolidColor
|
||||
import androidx.compose.ui.graphics.vector.ImageVector
|
||||
import androidx.compose.ui.graphics.vector.path
|
||||
import androidx.compose.ui.res.vectorResource
|
||||
import androidx.compose.ui.unit.dp
|
||||
import org.meshtastic.core.ui.R
|
||||
import org.jetbrains.compose.resources.vectorResource
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.ic_mountain_flag
|
||||
import org.meshtastic.proto.Config
|
||||
|
||||
val MeshtasticIcons.HardwareModel: ImageVector
|
||||
|
|
@ -50,7 +51,7 @@ val MeshtasticIcons.NodeId: ImageVector
|
|||
fun MeshtasticIcons.role(role: Config.DeviceConfig.Role?): ImageVector = when (role) {
|
||||
Config.DeviceConfig.Role.CLIENT -> Icons.Rounded.Person
|
||||
Config.DeviceConfig.Role.CLIENT_MUTE -> Icons.Rounded.PersonOff
|
||||
Config.DeviceConfig.Role.ROUTER -> ImageVector.vectorResource(R.drawable.mountain_flag_24px)
|
||||
Config.DeviceConfig.Role.ROUTER -> vectorResource(Res.drawable.ic_mountain_flag)
|
||||
Config.DeviceConfig.Role.TRACKER -> Icons.Rounded.MyLocation
|
||||
Config.DeviceConfig.Role.SENSOR -> Icons.Rounded.Sensors
|
||||
Config.DeviceConfig.Role.TAK -> Icons.Rounded.MilitaryTech
|
||||
|
|
|
|||
|
|
@ -51,14 +51,14 @@ import androidx.hilt.lifecycle.viewmodel.compose.hiltViewModel
|
|||
import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
||||
import org.jetbrains.compose.resources.stringResource
|
||||
import org.meshtastic.core.model.Channel
|
||||
import org.meshtastic.core.strings.Res
|
||||
import org.meshtastic.core.strings.accept
|
||||
import org.meshtastic.core.strings.add
|
||||
import org.meshtastic.core.strings.add_channels_description
|
||||
import org.meshtastic.core.strings.cancel
|
||||
import org.meshtastic.core.strings.new_channel_rcvd
|
||||
import org.meshtastic.core.strings.replace
|
||||
import org.meshtastic.core.strings.replace_channels_and_settings_description
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.accept
|
||||
import org.meshtastic.core.resources.add
|
||||
import org.meshtastic.core.resources.add_channels_description
|
||||
import org.meshtastic.core.resources.cancel
|
||||
import org.meshtastic.core.resources.new_channel_rcvd
|
||||
import org.meshtastic.core.resources.replace
|
||||
import org.meshtastic.core.resources.replace_channels_and_settings_description
|
||||
import org.meshtastic.core.ui.component.ChannelSelection
|
||||
import org.meshtastic.proto.ChannelSet
|
||||
|
||||
|
|
|
|||
|
|
@ -27,12 +27,12 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle
|
|||
import org.jetbrains.compose.resources.stringResource
|
||||
import org.meshtastic.core.model.util.compareUsers
|
||||
import org.meshtastic.core.model.util.userFieldsToString
|
||||
import org.meshtastic.core.strings.Res
|
||||
import org.meshtastic.core.strings.cancel
|
||||
import org.meshtastic.core.strings.import_known_shared_contact_text
|
||||
import org.meshtastic.core.strings.import_label
|
||||
import org.meshtastic.core.strings.import_shared_contact
|
||||
import org.meshtastic.core.strings.public_key_changed
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.cancel
|
||||
import org.meshtastic.core.resources.import_known_shared_contact_text
|
||||
import org.meshtastic.core.resources.import_label
|
||||
import org.meshtastic.core.resources.import_shared_contact
|
||||
import org.meshtastic.core.resources.public_key_changed
|
||||
import org.meshtastic.core.ui.component.MeshtasticDialog
|
||||
import org.meshtastic.proto.SharedContact
|
||||
import org.meshtastic.proto.User
|
||||
|
|
|
|||
|
|
@ -18,10 +18,10 @@ package org.meshtastic.core.ui.util
|
|||
|
||||
import android.text.format.DateUtils
|
||||
import org.meshtastic.core.common.util.nowMillis
|
||||
import org.meshtastic.core.strings.Res
|
||||
import org.meshtastic.core.strings.getString
|
||||
import org.meshtastic.core.strings.now
|
||||
import org.meshtastic.core.strings.unknown
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.getString
|
||||
import org.meshtastic.core.resources.now
|
||||
import org.meshtastic.core.resources.unknown
|
||||
import kotlin.time.Duration.Companion.milliseconds
|
||||
import kotlin.time.Duration.Companion.minutes
|
||||
import kotlin.time.Duration.Companion.seconds
|
||||
|
|
|
|||
|
|
@ -19,19 +19,19 @@ package org.meshtastic.core.ui.util
|
|||
import org.jetbrains.compose.resources.StringResource
|
||||
import org.meshtastic.core.model.ChannelOption
|
||||
import org.meshtastic.core.model.TracerouteMapAvailability
|
||||
import org.meshtastic.core.strings.Res
|
||||
import org.meshtastic.core.strings.label_long_fast
|
||||
import org.meshtastic.core.strings.label_long_moderate
|
||||
import org.meshtastic.core.strings.label_long_slow
|
||||
import org.meshtastic.core.strings.label_long_turbo
|
||||
import org.meshtastic.core.strings.label_medium_fast
|
||||
import org.meshtastic.core.strings.label_medium_slow
|
||||
import org.meshtastic.core.strings.label_short_fast
|
||||
import org.meshtastic.core.strings.label_short_slow
|
||||
import org.meshtastic.core.strings.label_short_turbo
|
||||
import org.meshtastic.core.strings.label_very_long_slow
|
||||
import org.meshtastic.core.strings.traceroute_endpoint_missing
|
||||
import org.meshtastic.core.strings.traceroute_map_no_data
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.label_long_fast
|
||||
import org.meshtastic.core.resources.label_long_moderate
|
||||
import org.meshtastic.core.resources.label_long_slow
|
||||
import org.meshtastic.core.resources.label_long_turbo
|
||||
import org.meshtastic.core.resources.label_medium_fast
|
||||
import org.meshtastic.core.resources.label_medium_slow
|
||||
import org.meshtastic.core.resources.label_short_fast
|
||||
import org.meshtastic.core.resources.label_short_slow
|
||||
import org.meshtastic.core.resources.label_short_turbo
|
||||
import org.meshtastic.core.resources.label_very_long_slow
|
||||
import org.meshtastic.core.resources.traceroute_endpoint_missing
|
||||
import org.meshtastic.core.resources.traceroute_map_no_data
|
||||
|
||||
val ChannelOption.labelRes: StringResource
|
||||
get() =
|
||||
|
|
|
|||
|
|
@ -21,8 +21,8 @@ import androidx.compose.runtime.Composable
|
|||
import androidx.compose.ui.platform.LocalContext
|
||||
import org.jetbrains.compose.resources.stringResource
|
||||
import org.meshtastic.core.common.util.nowMillis
|
||||
import org.meshtastic.core.strings.Res
|
||||
import org.meshtastic.core.strings.unknown_age
|
||||
import org.meshtastic.core.resources.Res
|
||||
import org.meshtastic.core.resources.unknown_age
|
||||
import org.meshtastic.proto.Channel
|
||||
import org.meshtastic.proto.ChannelSettings
|
||||
import org.meshtastic.proto.MeshPacket
|
||||
|
|
|
|||
Binary file not shown.
|
Before Width: | Height: | Size: 690 B |
|
|
@ -1,23 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="48dp" android:viewportHeight="2607.9" android:viewportWidth="1871.7" android:width="34.449787dp">
|
||||
|
||||
<path android:fillColor="#67ea94" android:pathData="M1349.1,573.2h-855.5c-11.1,0 -20,9 -20,20v1219.2c0,10.1 8.2,18.3 18.3,18.3h854.3c8.7,0 15.8,-7.1 15.8,-15.8L1361.9,586c0,-7.1 -5.8,-12.9 -12.9,-12.9ZM1128.5,1143h-411L717.5,787h411v356Z" android:strokeWidth="0"/>
|
||||
|
||||
<path android:fillColor="#2c2d3c" android:pathData="M1166.6,5.5c-21.2,13.2 -31.7,24.3 -34.1,36 -2.2,10.6 -1.8,11.4 13.6,26.9 7.7,7.6 15.3,15.7 17.1,18l3.2,4.1 -13.7,5.8c-26.6,11.4 -109.5,54 -125.2,64.4 -4.6,3 -5.5,4.1 -5.5,6.5 0,3.5 2.7,5.6 5.1,4.1 1.3,-0.8 2.9,-0.5 6.4,1.2 9.4,4.5 34.3,10.5 59,14.3 6.9,1.1 27.6,3.3 46,5 49.1,4.5 71,8 71,11.5 0,2.2 -21.1,23.5 -37.5,38 -8.2,7.2 -24.4,20.9 -36,30.5 -29,24 -42.2,35.9 -62,56.1 -27.2,27.7 -54.4,60.8 -60.9,74.1 -2.5,5 -2.7,6.1 -1.7,9.1 0.7,1.9 8.9,12.6 18.4,23.9 9.5,11.2 24.2,29.2 32.8,39.9 30.8,38.2 48.3,56.9 75.2,80.4l13.7,12 -118.2,0.6c-65.1,0.3 -203.8,0.7 -308.4,0.8 -182.2,0.3 -221.1,0.8 -237.2,3.1 -11.6,1.6 -16.2,4.8 -18.1,12.7 -0.9,3.3 -1.3,130.7 -1.6,479.6 -0.3,261.4 -0.7,530.3 -0.9,597.7 -0.5,142.7 -0.1,152.6 6.6,163.8 2.6,4.2 6.9,6.4 13.7,6.8 3.1,0.2 55,0.6 115.4,1 99.7,0.6 109.7,0.8 109.7,2.3 0.2,11.7 -9.3,741.7 -9.6,742 -0.2,0.3 -75.5,-1.9 -167.2,-4.8 -158.1,-4.9 -167.1,-5.1 -171,-3.5 -11.6,4.6 -12.2,20.8 -1,26.3 4.1,1.9 10.2,2.2 165.3,7.1 88.6,2.8 168.2,5.1 177,5.1h16l4.7,-5.3c2.6,-2.9 5.2,-6.2 5.7,-7.3 0.7,-1.5 10.4,-722.4 10.1,-757.4v-4.4l159.2,0.7c87.6,0.4 159.3,0.8 159.4,0.9 0,0.1 2.7,169.2 5.9,375.7l5.7,375.5 3,6c1.6,3.3 4.2,7.6 5.8,9.5l2.9,3.5 167.8,-0.3c158.5,-0.4 168,-0.5 171.9,-2.2 11.2,-4.9 12.1,-19.9 1.5,-25.8l-3.9,-2.2h-318.7l-0.3,-7.7c-0.3,-10.8 -11.2,-710.5 -11.2,-722.6v-9.7h121.8c85.3,0.1 123.8,-0.2 128.7,-1 12.4,-2 18.1,-6.1 21.9,-15.8 1.5,-4 1.6,-46.7 1.6,-608.5 0,-332.3 -0.3,-610.5 -0.6,-618.2 -0.7,-15.7 -1.6,-20 -4.7,-21.8 -1.7,-0.9 -24.6,-1.3 -101.2,-1.5l-99,-0.2 -3,-3.4c-1.6,-1.9 -9.1,-8.8 -16.5,-15.4 -24.3,-21.5 -43.4,-42.2 -71.5,-77.2 -8.2,-10.2 -21.9,-26.8 -30.5,-37 -8.5,-10.2 -16.8,-20 -18.3,-21.9 -3.4,-4.1 -3.2,-5.1 3.8,-15.6 11.1,-16.9 35.8,-45.8 59,-69 16.8,-16.9 30.6,-29.2 57,-51 36,-29.7 54.9,-46.8 67.7,-60.9 8.5,-9.4 8.9,-10.1 8.6,-14 -0.3,-3.8 -0.7,-4.3 -5,-6.4 -8,-4 -29.7,-7.2 -76.3,-11.2 -36.5,-3.1 -62.7,-7.4 -84.3,-13.6 -8.9,-2.6 -17.8,-6.1 -17.1,-6.8 1.4,-1.3 31.8,-17.6 56.9,-30.4 31.9,-16.3 56.3,-27.9 73.3,-34.8l10.7,-4.5 6.3,5.2c11.6,9.7 23.7,13.6 38.1,12.1 8.3,-0.8 10,-2.6 11.7,-11.7 2.1,-11.2 -0.9,-22.9 -12,-47.4 -9.8,-21.7 -19.8,-36.9 -31.4,-47.9 -7.3,-6.8 -8.8,-6.8 -20.6,0.5ZM1356.7,575.6c1.1,1.1 1.3,114 1.6,619.5l0.2,618.3 -2.2,4.4c-3.2,6.3 -8.1,8.7 -19.8,10 -9.2,0.9 -48.7,0.8 -618.5,-0.9 -254.3,-0.8 -236.4,-0.3 -239.4,-6.6 -3.2,-6.6 -4.2,-16 -4.7,-44 -0.2,-15.4 0,-283.4 0.4,-595.5 0.5,-312.1 0.5,-569.2 0,-571.3 -0.9,-4.2 0.5,-18.4 2.5,-24.5 1,-3.2 1.9,-3.9 6.3,-5.4 10.9,-3.6 32.3,-3.9 396.9,-4.7 448.7,-1 475,-1 476.7,0.7Z" android:strokeWidth="0"/>
|
||||
|
||||
<path android:fillColor="#fff" android:pathData="M717.5,787h411v356h-411z" android:strokeWidth="0"/>
|
||||
|
||||
<path android:fillColor="#454656" android:pathData="M1246.6,622.6c-10.8,3.8 -18.5,10.8 -23.7,21.4 -2.8,5.6 -3,6.4 -3,16.6s0.2,11 3,16.9c7.6,15.9 22,24.3 40.3,23.5 7.4,-0.3 9.3,-0.7 15.6,-3.7 8.7,-4.2 15.4,-10.6 19,-18.3 10,-21 1.9,-43.8 -19.2,-54.2 -6.6,-3.2 -7.5,-3.4 -17.1,-3.7 -8,-0.2 -11.3,0.2 -14.9,1.5Z" android:strokeColor="#2c2d3c" android:strokeWidth="7"/>
|
||||
|
||||
<path android:fillColor="#2c2d3c" android:pathData="M651.6,705.9c-8,1.6 -10.3,5.2 -12,19.4 -1.4,12 -1.8,452.5 -0.4,459.2 1.4,6.4 2.7,8.9 5.7,10.8 2.1,1.4 31.7,1.6 275.1,1.5 150,0 275.3,-0.3 278.4,-0.6 6.8,-0.7 9.6,-1.9 10.7,-4.8 0.5,-1.1 0.7,-106.1 0.4,-235.6 -0.6,-263.8 0.3,-239.2 -8.5,-243.1 -5.2,-2.3 -17.1,-5 -23,-5.1 -8,-0.3 -489.4,-2.8 -505.5,-2.7 -9.1,0.1 -18.5,0.5 -20.9,1ZM838.1,787.9c6.5,1.2 8.4,2.3 8.4,4.9s-2.3,3.1 -11.3,1.8c-12.3,-1.6 -35.6,-0.4 -50.4,2.7 -14.5,3 -33.7,9.1 -43.7,13.9 -7.3,3.5 -16.6,10 -16.6,11.6 0,0.5 1.7,1 3.8,1.2 3.2,0.3 3.7,0.6 3.7,2.8s-0.4,2.5 -5.8,2.8c-7,0.4 -8.7,-0.8 -8.7,-5.6 0,-10.9 30.8,-26.7 65.5,-33.7 6.6,-1.3 13.6,-2.6 15.5,-2.8 7.9,-0.9 34,-0.6 39.6,0.4ZM1063,791.2c35.7,7.5 65.5,22.9 65.5,33.8 0,4.8 -1.7,6 -8.7,5.6 -5.4,-0.3 -5.8,-0.5 -5.8,-2.8s0.5,-2.5 3.8,-2.8c2,-0.2 3.7,-0.7 3.7,-1.2 0,-1.6 -9.3,-8.1 -16.6,-11.6 -10,-4.8 -29.2,-10.9 -43.7,-13.9 -14.8,-3.1 -38.1,-4.3 -50.4,-2.7 -9,1.3 -11.3,0.9 -11.3,-1.8 0,-4.7 7.5,-6 32,-5.5 16.1,0.3 21.6,0.8 31.5,2.9ZM824.5,849.6c4.6,2.3 5.9,3.6 8.4,8.4 3.2,6.3 3.7,10.2 5.6,42.3 0.6,9.9 1.5,26.3 2.1,36.5 1.2,20.5 0.5,96.3 -1.1,122.6 -3.3,53.9 -5,74.5 -6.1,76.6 -0.5,1 -1.6,1.8 -2.5,1.8 -0.8,0 -4.1,0.9 -7.3,2 -17.1,5.7 -43.2,-0.5 -50.3,-12 -6,-9.7 -7.6,-27 -8.8,-97 -0.5,-27.2 -1.4,-56.5 -2.2,-65 -0.7,-8.5 -1.3,-29 -1.3,-45.5 0,-40.5 1.5,-46.7 14.4,-59.6 5.3,-5.2 8.2,-7.2 14.6,-9.9 10.4,-4.3 13.6,-5 22,-4.4 4.9,0.3 8.6,1.3 12.5,3.2ZM1055.2,851.5c7.3,3 10,4.8 15.4,10.2 12.9,12.9 14.4,19.1 14.4,59.6 0,16.5 -0.6,37 -1.3,45.5 -0.8,8.5 -1.7,37.8 -2.2,65 -1.2,70 -2.8,87.3 -8.8,97 -7.1,11.5 -33.2,17.7 -50.3,12 -3.2,-1.1 -6.5,-2 -7.3,-2 -0.9,0 -2,-0.8 -2.5,-1.8 -1.1,-2.1 -2.8,-22.7 -6.1,-76.6 -1.6,-26.3 -2.3,-102.1 -1.1,-122.6 4.3,-73.4 4.1,-71.4 7.5,-78.5 6.2,-12.6 23.2,-15.8 42.3,-7.8Z" android:strokeWidth="0"/>
|
||||
|
||||
<path android:fillColor="#2c2d3c" android:fillType="evenOdd" android:pathData="m1034.5,1359.6 l-215.8,316.5 -45.5,-31 238.6,-349.9c5.1,-7.5 13.6,-12 22.7,-12 9.1,0 17.6,4.5 22.8,12l239.1,349.3 -45.5,31.1 -216.3,-316ZM581.6,1675.8 L833.7,1306.1 788.2,1275 536.1,1644.8 581.6,1675.8Z" android:strokeWidth="0"/>
|
||||
|
||||
<path android:fillColor="#fff" android:pathData="M407.1,1220.2v-6.7h-23.2v-9c0,-11.1 -1.6,-21.9 -4.6,-32 -3.4,-45.9 -33.9,-84.2 -75.5,-99v-2.2c0,-10.3 -5,-19.4 -12.8,-25v-2c0,-10.6 -5.7,-19.8 -14.1,-24.8v-5.2c0,-6.9 -2.6,-13.1 -6.9,-17.8l-39.5,-206.2c-1.2,-6.3 -4.3,-11.7 -8.6,-15.7 -0.6,-15.7 -13.5,-28.2 -29.4,-28.2 -15.7,0 -28.5,12.3 -29.3,27.8 -5,5.3 -8.1,12.4 -8.1,20.2v3.5c-5,6.1 -8.1,14 -8.1,22.5v146.3c0,8 2.7,15.4 7.2,21.4h-10.1c-6.1,-10.3 -17.3,-17.1 -30,-17.1h-10.1c-14,0 -25.5,10.3 -27.6,23.6 -16.1,8.1 -28.2,22.9 -32.4,40.8 -9.4,8.6 -16.5,19.5 -20.6,31.8 -11.7,13.5 -18.7,31 -18.7,50.3v33c0,18.7 10.9,34.8 26.8,42.2 6.9,11.3 18.9,19 32.8,20 8.6,8.6 20.6,14 33.8,14h0.6c0.1,18.4 10.3,34.4 25.3,42.7v3l-31.5,15.8c-3.2,1.6 -4.5,5.5 -2.9,8.8l27.1,54.2c2.7,5.4 8.2,8.5 13.9,8.3 7.1,12.5 19.2,21.8 33.6,24.9 4.3,8.2 12.9,13.8 22.8,14l46,0.9c12.5,0.3 23.9,-5.1 31.7,-13.7h2.9c19.9,0 38.8,-4.2 55.9,-11.6 57.4,-6.5 102,-55.3 102,-114.4v-12.1c0,-12.3 -7.5,-22.8 -18.2,-27.2Z" android:strokeWidth="0"/>
|
||||
|
||||
<path android:fillColor="#2c2d3c" android:pathData="M180,744.2c-2.7,1.3 -7.1,4.6 -9.7,7.3 -9.1,9.9 -19.7,35.8 -25.5,63l-2.8,12.8 0.1,49.5c0,52.1 1.1,75.2 4.5,94.8 1,6.3 1.9,11.9 1.9,12.4 0,0.6 -3.7,-2.5 -8.3,-6.9 -11.1,-10.6 -15.7,-12.8 -26.7,-12.7 -9.8,0.1 -14.6,1.8 -24.4,8.8 -13,9.3 -34.8,35.8 -54.7,66.6 -19,29.4 -26.9,47.1 -32,71.5 -3.4,16.1 -3.2,36.1 0.5,50 3.2,12.1 8.1,22.9 13.1,28.3 2,2.3 7.1,6.3 11.3,9 10.8,6.9 43,22.9 53.6,26.6l8.8,3.1 7.2,12.8c9,16.1 14.1,22.7 21.1,27.4l5.6,3.7 -4.3,1.6c-26.9,10.4 -28.9,11.3 -30.8,14 -1.1,1.6 -2,3.7 -2,4.7 0,2.4 13.9,34.6 18.7,43.3 7.2,13.2 15.8,23.2 29.7,34.7 16.4,13.7 26.1,20.2 39,26.4 13.9,6.6 25.5,9.3 36.6,8.4 12.4,-1 22.4,-3.1 38.5,-8.1 7.9,-2.4 19.1,-5.5 24.9,-6.9 5.8,-1.4 14.7,-3.8 19.9,-5.5 5.1,-1.6 18,-5.2 28.5,-8 30.2,-7.9 59.5,-19.7 70.7,-28.7 6.4,-5.1 16.6,-19.3 22.2,-31 2.7,-5.6 6,-15.4 8.6,-25 4.1,-15.4 4.2,-16.2 4.2,-31.8 0,-17.1 -1.1,-23.6 -5.1,-31.6 -5.5,-11 -13.1,-16.3 -23.4,-16.4 -3.6,0 -8,0.3 -9.8,0.7 -3.1,0.7 -3.2,0.7 -2.5,-2 0.5,-1.5 0.8,-7.7 0.7,-13.7 0,-9.7 -0.4,-12.4 -3.8,-23.5 -11.8,-39.3 -19.9,-57.4 -34.4,-76.7 -5.3,-7.1 -7.6,-8.8 -10.3,-7.8 -0.8,0.3 -2.6,-0.3 -4,-1.2 -17.5,-11.7 -23,-17.7 -35.4,-38.4 -22.6,-38.2 -34.7,-77 -44.4,-143.4 -1.7,-11.6 -4.2,-28.7 -5.6,-38 -1.4,-9.4 -3.2,-21.6 -4,-27.2 -1.5,-10.9 -3,-17.4 -10.1,-43.3 -4.9,-17.7 -6.8,-22.3 -14.2,-33.4 -12.9,-19.5 -16.9,-22.6 -29.3,-22.6 -5.7,0 -8.6,0.6 -12.4,2.4ZM200.1,749.7c4.4,2 8.2,6.5 16.6,19.7 6.8,10.5 7.4,12.1 11.7,27.1 7,24.4 10.2,38.5 12.1,52.8 1,7.7 2.5,18 3.4,23 0.8,4.9 1.8,11.7 2.1,15 1.1,10.6 7.4,49 10.1,61.7 6.9,33.1 15.3,59.9 24.9,79.7 6.6,13.4 16.5,31.1 19.3,34.3 1.9,2.2 1.8,2.2 -4.6,-0.2 -7.7,-3 -21,-2.8 -27.7,0.4 -9.8,4.6 -18.9,16.8 -23.6,31.6 -3.8,12.3 -4.7,20.2 -3.7,32.3 1,12.7 3,21.2 7.2,30.2 7.3,15.7 16.1,25.9 30.2,35.2 22.4,14.5 47.8,22.4 82.1,25.5l13.7,1.2 -4.3,1.8c-2.3,1 -9.9,2.9 -16.9,4.4 -7,1.5 -20.3,5.3 -29.5,8.5 -29.2,10.1 -50.1,14.5 -99.7,20.9 -28.9,3.7 -62.9,9.1 -78.5,12.4 -8.3,1.7 -11.4,1.2 -19.9,-3.3 -8.1,-4.3 -16.2,-14.3 -23.5,-28.9l-3.1,-6.2h8.2c4.6,0 12.8,-0.7 18.2,-1.5 5.5,-0.8 11.6,-1.5 13.7,-1.5 6.1,0 18.1,-4.3 26.1,-9.4 4.2,-2.7 13.4,-10.5 21.5,-18.4 15.9,-15.4 18.4,-19.4 23.9,-38.2 3.9,-13.5 3.8,-22.5 -0.3,-35 -1.7,-5.2 -4.8,-15.1 -6.8,-22 -11.3,-38.1 -20.2,-61.5 -30.5,-80.3 -3.7,-6.8 -7,-13.5 -7.3,-14.9 -0.4,-1.4 -2.2,-5.1 -4.1,-8.2 -8.9,-14.9 -12.5,-50.6 -12.9,-128.4 -0.1,-34.8 0.1,-38.6 2,-49.2 5.5,-28.9 16.4,-57.2 26,-66.7 6.7,-6.7 16.2,-8.9 23.9,-5.4ZM124.2,972.9c2.5,1.2 9.2,6.6 15.1,12 9,8.4 11.4,11.3 15.2,18.4 2.5,4.6 6.1,11.2 8.1,14.7 7.3,12.8 9.2,16.5 13.5,26.9 8.3,20.2 30.1,88.8 29,91.4 -0.7,1.9 -3.2,1.9 -13.9,0 -19.4,-3.4 -34.8,-11.1 -53.2,-26.5 -22.6,-19.1 -38.4,-35.1 -53.4,-54.5 -8.7,-11.1 -23.7,-33.2 -25,-36.7 -1.6,-4.3 23.2,-33.2 35.5,-41.3 10.2,-6.8 20.9,-8.4 29.1,-4.4ZM64.5,1038.3c18.6,28 33.5,45.1 59.5,68.3 17.3,15.5 25.2,21.1 38,27.3 12.8,6.1 22.5,8.8 34.8,9.6 8.2,0.5 9.7,0.9 9.7,2.3 0,2.5 -5.9,21.7 -8.5,27.5 -2.4,5.6 -10.9,15.2 -19.9,22.7l-5.8,4.9 -8.2,-0.6c-14.7,-1.2 -43.1,-12.1 -64,-24.5 -33.2,-19.8 -62.4,-49.6 -77.6,-79.3 -2.7,-5.4 -5,-10.5 -5,-11.3 0,-5.6 35,-63.9 37.1,-61.7 0.3,0.5 4.8,7.1 9.9,14.8ZM295.6,1070c5.3,2.4 22.2,13.2 33.5,21.3 3.1,2.2 6.6,3.8 8.5,4 3.1,0.2 4.1,1.2 10.2,10.1 11.9,17.3 19,34.1 29.6,69.9 4,13.7 5.2,21.9 4.2,28.2 -1.3,8.5 -1.6,8.7 -16.1,8 -40.6,-1.9 -82,-17.7 -99.4,-37.8 -5,-5.9 -11.1,-16.4 -14.2,-24.6 -3.3,-8.8 -5.7,-24.9 -5,-33.8 0.6,-8.7 5.8,-25.5 9.7,-31.6 3.9,-6.2 13,-14.7 16.5,-15.4 1.6,-0.4 3.4,-0.8 3.9,-1.1 3,-1.1 13.5,0.4 18.6,2.8ZM27,1116.6c16.2,24.3 40.8,47.5 67.1,63.5 22.1,13.5 49.9,24.7 65.5,26.5l6.4,0.8 -4.5,2.9c-6.7,4.3 -15.9,7.8 -21.5,8.1 -2.7,0.2 -9.2,1.1 -14.2,2 -6.8,1.2 -12.9,1.5 -23,1.2 -16.4,-0.6 -20.1,-1.7 -44.8,-14 -29.6,-14.8 -38,-21 -42.9,-31.8 -10,-22 -11.1,-45.9 -3.4,-74.3l2.1,-7.9 4.3,8.2c2.4,4.5 6.4,11.1 8.9,14.8ZM405.2,1219.9c1.5,0.5 4.3,2.5 6.1,4.2 7.3,6.9 10.2,17.1 10.2,35.8 0,10.9 -0.4,14.3 -3.4,26.5 -1.9,7.7 -4.7,17.2 -6.1,21 -5.1,13.4 -16.7,30.6 -24.8,36.5 -11.8,8.6 -40.4,19.8 -69,26.9 -6.7,1.7 -17.8,4.9 -24.7,7 -6.9,2.2 -17.4,5.1 -23.5,6.5 -6,1.4 -15.7,4.1 -21.5,6 -14.3,4.8 -26.7,7.4 -38,8.1 -8,0.6 -10.8,0.3 -17.5,-1.5 -15.3,-4.2 -33.7,-14.7 -51.3,-29.3 -16.7,-14 -22.8,-21.2 -31.4,-36.8 -5.1,-9.3 -17.1,-37.9 -16.5,-39.4s30.2,-12.6 39.7,-15c17,-4.1 61,-11.4 95.5,-15.6 43.6,-5.4 62.3,-9.3 93.5,-19.6 12.4,-4 27.7,-8.4 34,-9.8 6.3,-1.3 14.4,-3.6 18,-5.1 18.2,-7.7 24.1,-8.9 30.7,-6.4Z" android:strokeWidth="0"/>
|
||||
|
||||
<path android:fillColor="#fff" android:pathData="M1819.8,966.4c-25.9,-6.6 -55.4,12.3 -80.2,47.2 -7.2,2.1 -13.9,6.5 -18.7,13l-62.7,83.5c-4,5.3 -6.6,11.1 -8,17.1l-5.4,1.6c-13.4,3.9 -23.7,13.3 -29.3,24.9 -5.7,2.5 -10.7,6.2 -14.8,10.6 -3.1,-3.5 -6.9,-6.3 -11,-8.4l-8.6,-29.3c-2.4,-8.3 -7.4,-15.1 -13.8,-20 -1.3,-3 -3,-5.9 -4.9,-8.4l-1.8,-6.3c-5.5,-18.9 -25.3,-29.7 -44.2,-24.2l-1.2,0.3c-17,5 -27.5,21.6 -25.3,38.7 -2.3,3.8 -4,7.9 -5.2,12.1 -6.9,11 -9.3,24.8 -5.3,38.3l4.3,14.6c-2.8,8.7 -3.2,18.3 -0.4,27.8l43.8,149.4 -4.6,-1.5c-5.4,-1.8 -11,-1.8 -16.1,-0.2l-5.2,-1.7c-6.7,-2.2 -14,1.4 -16.2,8.2 -2,5.9 -1.1,12.1 1.9,17 -2.3,10.6 -0.4,21.2 4.6,30.1 1.2,12 7.4,23.1 17.2,30.4 5,12.3 15.2,22.3 28.7,26.8l6.3,2.1c4.1,7 10.8,12.7 19.1,15.4l20.5,6.8 1.1,3.7 5.4,-1.6 15.5,5.1 1.1,3.7 5.4,-1.6 78.8,26c6.9,2.3 14,2.2 20.5,0.2l18.2,6c18.8,6.2 39.1,-4 45.3,-22.8 6.2,-18.8 -4,-39.1 -22.8,-45.3l-4.4,-1.5c-1.7,-4.4 -4.3,-8.5 -7.7,-12l13.5,-4 -0.5,-1.7c10.2,-4.2 17.6,-12.7 20.8,-22.7l4.6,3.8 41.3,-50.6c3.2,-3.9 5.3,-8.3 6.3,-12.9 25.3,-12.2 42.7,-38.1 42.7,-68.1v-186.1c5.9,-69.1 -12.5,-124.6 -48.5,-133.7Z" android:strokeWidth="0"/>
|
||||
|
||||
<path android:fillColor="#2c2d3c" android:pathData="M1797,960.2c-13.1,3.3 -25.8,12.9 -52.1,39.1 -30.1,30 -54.1,58.2 -80.5,94.5 -15.4,21.1 -16.2,22.5 -15.6,25.7 0.5,2.7 0.2,2.9 -5.5,4.7 -3.3,1 -7.2,2.9 -8.7,4 -1.4,1.2 -3.9,3 -5.6,4 -7.2,4.5 -16.8,13.3 -22.5,20.7 -5.2,6.7 -6.5,7.8 -7.6,6.7 -2.9,-3 -12.7,-23.3 -17.8,-37.1 -3,-8.1 -7.4,-18.3 -9.7,-22.7 -7.7,-14.4 -23.3,-30.5 -34.8,-35.8 -7.3,-3.4 -18,-2.9 -26.1,1.3 -7.9,4 -17.1,13.8 -21.3,22.7 -8.5,17.7 -11.2,34 -11.1,66.8 0,24.7 1.1,36.1 6,62.9 5.7,31.1 21.6,85.9 33.3,114.6 2.2,5.4 3.8,10.1 3.6,10.3s-5.8,-0.1 -12.4,-0.7c-14.8,-1.5 -18.2,-0.9 -22,3.5 -6.6,7.5 -6.7,17.7 -0.6,51.3 1.2,6.6 2.8,10.9 7.1,19 3.1,5.8 6.4,11.7 7.3,13.1s2.3,3.8 3.1,5.4 4.9,6.3 9,10.5c6.7,6.8 10.1,9.1 32.5,21.8 32.7,18.6 41.4,22.6 69.5,32.1 41.9,14.1 68.2,21 94.5,24.6 6.1,0.8 16.3,2.4 22.8,3.6 20.4,3.5 26.1,2.6 34.3,-5.1 2.8,-2.8 6.3,-6.7 7.7,-8.7 3.8,-5.5 6.8,-15.6 7,-23.3 0.2,-5.7 -0.2,-7.2 -2.1,-9.6 -1.2,-1.5 -4.4,-5.7 -7,-9.3 -8.5,-11.8 -35.6,-37.2 -44.4,-41.6 -7.5,-3.8 -22.4,-9 -33.6,-11.8 -10.4,-2.6 -27.5,-9.1 -46.7,-17.9 -43.6,-19.9 -57.9,-26.8 -76.7,-36.6 -11.6,-6.2 -23.4,-11.9 -26.2,-12.8s-5.5,-2 -6,-2.4c-0.6,-0.5 -1.8,-0.9 -2.8,-0.9s-1.8,-0.5 -1.8,-1.1 -1.6,-2.5 -3.5,-4.4c-4,-3.7 -8,-13.2 -16.3,-38.5 -25.9,-79.2 -34.5,-139.3 -26.7,-185 4,-23.4 13.7,-40 27.2,-46.7 11.6,-5.6 20.3,-3.1 33.6,9.6s18.2,20.7 26.2,42.6c5.2,14.3 17.1,38.5 21.8,44.3 4,5 16.6,30.8 21.1,43.4 9.7,26.8 16.6,65.4 16.6,92.4v13.4h2.4c1.9,0 2.7,-0.8 3.7,-3.7 2.5,-7.8 -0.7,-41.8 -6.8,-70.8 -4.5,-21.7 -12.8,-44.4 -23.8,-65l-5.4,-10 2.7,-3.1c1.5,-1.7 3.9,-4.7 5.4,-6.6 1.5,-1.9 6,-6.1 10.2,-9.2 4.1,-3.1 7.7,-6.4 8,-7.4 0.9,-2.6 10.3,-8 19.3,-11 12.9,-4.2 20.3,-3.7 39.3,2.8 8.5,2.9 18.3,6.6 21.8,8.2 6.9,3.3 9.6,3.3 10,0.2 0.4,-2.6 -5,-6.9 -11.3,-9.1 -2.5,-0.8 -4.7,-1.9 -5.1,-2.4 -0.3,-0.5 -1.6,-0.9 -2.9,-0.9s-4.8,-0.9 -7.7,-2c-11.8,-4.3 -21.7,-6.2 -30.8,-5.8l-8.8,0.3 1,-2.4c1.1,-3.1 26.2,-37 39.2,-53 16.1,-19.8 40.9,-47.2 59.2,-65.2 34.3,-33.6 47,-39.6 65.4,-30.8 10.3,4.9 16.8,11.2 25.6,24.6 13.3,20.1 15.3,26.3 19.9,61.4l0.5,3.5 -14.3,3.9c-26.3,7 -48.8,16 -84.2,33.6 -24.9,12.4 -33,17.4 -33,20.4 0,3.5 4.1,2.9 12.3,-1.8 20.3,-11.7 60.9,-30.7 81.9,-38.3 13.4,-4.9 36.3,-11.5 37.4,-10.8 1,0.6 1.2,89.5 0.3,93.1 -0.4,1.6 -1.7,2.3 -4.7,2.8 -14.3,2.5 -43.6,18.3 -57.9,31.4 -6.7,6.1 -8.6,9.4 -6.8,11.6 0.7,0.8 1.6,1.5 2.1,1.5s3.7,-2.7 7,-6c11.7,-11.3 37.2,-26.7 51.7,-31 4,-1.2 7.5,-2.1 7.6,-1.9 0.4,0.4 1,78.5 0.8,89.4l-0.2,7 -5.2,1.9c-7.2,2.5 -19.6,9.4 -20.7,11.4 -2,4 2.3,5.7 6.8,2.6 1.2,-0.9 5.7,-3.4 9.9,-5.5l7.7,-3.9 0.3,12.3c0.1,6.7 -0.1,17.2 -0.7,23.3 -0.7,9.4 -1.3,12 -3.7,16 -6,10.6 -16.7,21.8 -24.9,26.1 -2,1.1 -2,0.7 -2.3,-13.5 -0.3,-15.1 -1.1,-18 -4.4,-16.7 -1.4,0.5 -1.7,3.1 -2,15.3 -0.4,13.5 -0.6,15.3 -3.3,21.7 -3.7,8.8 -18.4,28.6 -28.4,38 -4,3.8 -9.4,9.2 -11.9,12 -9.2,10 -16,16.1 -25,22.5 -6.8,4.7 -9.2,7 -9.2,8.6 0,2.9 2.5,3.7 5.9,1.9 6.1,-3.1 23.6,-17.7 29.6,-24.6 3.5,-4.1 9.4,-10.1 13.1,-13.4 8.2,-7.2 24.8,-27.9 28.9,-35.8 2.8,-5.4 3.6,-6.1 10.5,-9.6 4.1,-2 8.7,-4.5 10.2,-5.5 4.3,-2.9 16.4,-18 19.7,-24.8 2.9,-5.9 3.2,-7.6 4.3,-22.8 0.6,-9.1 1.2,-44.9 1.3,-79.5 0.1,-34.7 0.4,-84.4 0.6,-110.5 0.3,-50.6 -0.2,-59.6 -5.2,-84.4 -2.9,-14.5 -11.3,-31 -23.8,-46.9 -11.9,-15.3 -31.5,-24 -45.6,-20.3ZM1510,1348.8c6.1,0.6 13.3,1.7 16,2.5 2.8,0.8 7.5,2.1 10.5,3 3,0.8 16.3,7.1 29.5,14 13.2,7 30.1,15.3 37.5,18.7 7.4,3.3 20.9,9.5 30,13.8 22.9,10.8 46.9,20.5 57,22.8 9.6,2.3 27.5,8.4 33.1,11.3 7.5,3.8 36.6,30.4 39.5,36.2 0.8,1.5 3.7,5.2 6.4,8.3 6,6.5 6.4,9.6 2.5,21.3 -2.1,6.3 -3.6,8.6 -8.2,13.5 -6.5,6.7 -8.4,7.6 -15.6,7.6 -12.4,0 -68.1,-10.2 -90.2,-16.6 -28.9,-8.3 -65.5,-21.3 -79,-27.9 -13.3,-6.5 -40.2,-21.3 -51,-28 -7.7,-4.8 -16.5,-15.2 -24.2,-28.5 -10.7,-18.5 -10.8,-18.9 -14.9,-47.9 -1.7,-11.8 -0.8,-18.9 2.8,-22.8 2.4,-2.6 3.3,-2.7 18.3,-1.3Z" android:strokeWidth="0"/>
|
||||
|
||||
</vector>
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="960" android:viewportWidth="960" android:width="24dp">
|
||||
|
||||
<path android:fillColor="@android:color/white" android:pathData="M480,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,880ZM480,800Q614,800 707,707Q800,614 800,480Q800,346 707,253Q614,160 480,160Q346,160 253,253Q160,346 160,480Q160,614 253,707Q346,800 480,800ZM480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480ZM440,680L520,680Q553,680 576.5,656.5Q600,633 600,600L600,360Q600,327 576.5,303.5Q553,280 520,280L440,280Q407,280 383.5,303.5Q360,327 360,360L360,600Q360,633 383.5,656.5Q407,680 440,680ZM440,360L520,360Q520,360 520,360Q520,360 520,360L520,600Q520,600 520,600Q520,600 520,600L440,600Q440,600 440,600Q440,600 440,600L440,360Q440,360 440,360Q440,360 440,360Z"/>
|
||||
|
||||
</vector>
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="960" android:viewportWidth="960" android:width="24dp">
|
||||
|
||||
<path android:fillColor="@android:color/white" android:pathData="M480,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,880ZM480,800Q614,800 707,707Q800,614 800,480Q800,346 707,253Q614,160 480,160Q346,160 253,253Q160,346 160,480Q160,614 253,707Q346,800 480,800ZM480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480ZM460,360L460,640Q460,657 471.5,668.5Q483,680 500,680Q517,680 528.5,668.5Q540,657 540,640L540,320Q540,303 528.5,291.5Q517,280 500,280L420,280Q403,280 391.5,291.5Q380,303 380,320Q380,337 391.5,348.5Q403,360 420,360L460,360Z"/>
|
||||
|
||||
</vector>
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="960" android:viewportWidth="960" android:width="24dp">
|
||||
|
||||
<path android:fillColor="@android:color/white" android:pathData="M480,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,880ZM480,800Q614,800 707,707Q800,614 800,480Q800,346 707,253Q614,160 480,160Q346,160 253,253Q160,346 160,480Q160,614 253,707Q346,800 480,800ZM480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480ZM560,680Q577,680 588.5,668.5Q600,657 600,640Q600,623 588.5,611.5Q577,600 560,600L440,600L440,520Q440,520 440,520Q440,520 440,520L520,520Q553,520 576.5,496.5Q600,473 600,440L600,360Q600,327 576.5,303.5Q553,280 520,280L400,280Q383,280 371.5,291.5Q360,303 360,320Q360,337 371.5,348.5Q383,360 400,360L520,360Q520,360 520,360Q520,360 520,360L520,440Q520,440 520,440Q520,440 520,440L440,440Q407,440 383.5,463.5Q360,487 360,520L360,640Q360,657 371.5,668.5Q383,680 400,680L560,680Z"/>
|
||||
|
||||
</vector>
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="960" android:viewportWidth="960" android:width="24dp">
|
||||
|
||||
<path android:fillColor="@android:color/white" android:pathData="M480,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,880ZM480,800Q614,800 707,707Q800,614 800,480Q800,346 707,253Q614,160 480,160Q346,160 253,253Q160,346 160,480Q160,614 253,707Q346,800 480,800ZM480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480ZM400,680L520,680Q553,680 576.5,656.5Q600,633 600,600L600,540Q600,514 583,497Q566,480 540,480Q566,480 583,463Q600,446 600,420L600,360Q600,327 576.5,303.5Q553,280 520,280L400,280Q383,280 371.5,291.5Q360,303 360,320Q360,337 371.5,348.5Q383,360 400,360L520,360Q520,360 520,360Q520,360 520,360L520,440Q520,440 520,440Q520,440 520,440L480,440Q463,440 451.5,451.5Q440,463 440,480Q440,497 451.5,508.5Q463,520 480,520L520,520Q520,520 520,520Q520,520 520,520L520,600Q520,600 520,600Q520,600 520,600L400,600Q383,600 371.5,611.5Q360,623 360,640Q360,657 371.5,668.5Q383,680 400,680Z"/>
|
||||
|
||||
</vector>
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
<!--
|
||||
~ Copyright (c) 2025 Meshtastic LLC
|
||||
~
|
||||
~ This program is free software: you can redistribute it and/or modify
|
||||
~ it under the terms of the GNU General Public License as published by
|
||||
~ the Free Software Foundation, either version 3 of the License, or
|
||||
~ (at your option) any later version.
|
||||
~
|
||||
~ This program is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ GNU General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="960" android:viewportWidth="960" android:width="24dp">
|
||||
|
||||
<path android:fillColor="@android:color/white" android:pathData="M480,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,880ZM480,800Q614,800 707,707Q800,614 800,480Q800,346 707,253Q614,160 480,160Q346,160 253,253Q160,346 160,480Q160,614 253,707Q346,800 480,800ZM480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480ZM520,680L600,680L600,280L520,280L520,440L440,440L440,280L360,280L360,520L520,520L520,680Z"/>
|
||||
|
||||
</vector>
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="960" android:viewportWidth="960" android:width="24dp">
|
||||
|
||||
<path android:fillColor="@android:color/white" android:pathData="M480,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,880ZM480,800Q614,800 707,707Q800,614 800,480Q800,346 707,253Q614,160 480,160Q346,160 253,253Q160,346 160,480Q160,614 253,707Q346,800 480,800ZM480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480ZM400,680L520,680Q553,680 576.5,656.5Q600,633 600,600L600,520Q600,487 576.5,463.5Q553,440 520,440L440,440L440,360L560,360Q577,360 588.5,348.5Q600,337 600,320Q600,303 588.5,291.5Q577,280 560,280L400,280Q383,280 371.5,291.5Q360,303 360,320L360,480Q360,497 371.5,508.5Q383,520 400,520L520,520Q520,520 520,520Q520,520 520,520L520,600Q520,600 520,600Q520,600 520,600L400,600Q383,600 371.5,611.5Q360,623 360,640Q360,657 371.5,668.5Q383,680 400,680Z"/>
|
||||
|
||||
</vector>
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="960" android:viewportWidth="960" android:width="24dp">
|
||||
|
||||
<path android:fillColor="@android:color/white" android:pathData="M480,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,880ZM480,800Q614,800 707,707Q800,614 800,480Q800,346 707,253Q614,160 480,160Q346,160 253,253Q160,346 160,480Q160,614 253,707Q346,800 480,800ZM480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480ZM440,680L520,680Q553,680 576.5,656.5Q600,633 600,600L600,520Q600,487 576.5,463.5Q553,440 520,440L440,440L440,360Q440,360 440,360Q440,360 440,360L520,360Q537,360 548.5,348.5Q560,337 560,320Q560,303 548.5,291.5Q537,280 520,280L440,280Q407,280 383.5,303.5Q360,327 360,360L360,600Q360,633 383.5,656.5Q407,680 440,680ZM440,520L520,520Q520,520 520,520Q520,520 520,520L520,600Q520,600 520,600Q520,600 520,600L440,600Q440,600 440,600Q440,600 440,600L440,520Z"/>
|
||||
|
||||
</vector>
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="960" android:viewportWidth="960" android:width="24dp">
|
||||
|
||||
<path android:fillColor="@android:color/white" android:pathData="M520,360L452,632Q447,650 459,665Q471,680 490,680Q504,680 514,672Q524,664 527,651L598,370Q600,365 600,361Q600,357 600,352Q600,323 579.5,301.5Q559,280 530,280L400,280Q383,280 371.5,291.5Q360,303 360,320Q360,337 371.5,348.5Q383,360 400,360L520,360ZM480,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,880ZM480,800Q614,800 707,707Q800,614 800,480Q800,346 707,253Q614,160 480,160Q346,160 253,253Q160,346 160,480Q160,614 253,707Q346,800 480,800ZM480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Z"/>
|
||||
|
||||
</vector>
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="960" android:viewportWidth="960" android:width="24dp">
|
||||
|
||||
<path android:fillColor="@android:color/white" android:pathData="M480,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,880ZM480,800Q614,800 707,707Q800,614 800,480Q800,346 707,253Q614,160 480,160Q346,160 253,253Q160,346 160,480Q160,614 253,707Q346,800 480,800ZM480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480ZM440,680L520,680Q553,680 576.5,656.5Q600,633 600,600L600,540Q600,515 582.5,497.5Q565,480 540,480Q565,480 582.5,462.5Q600,445 600,420L600,360Q600,327 576.5,303.5Q553,280 520,280L440,280Q407,280 383.5,303.5Q360,327 360,360L360,420Q360,445 377.5,462.5Q395,480 420,480Q395,480 377.5,497.5Q360,515 360,540L360,600Q360,633 383.5,656.5Q407,680 440,680ZM440,360L520,360Q520,360 520,360Q520,360 520,360L520,440Q520,440 520,440Q520,440 520,440L440,440Q440,440 440,440Q440,440 440,440L440,360Q440,360 440,360Q440,360 440,360ZM440,600Q440,600 440,600Q440,600 440,600L440,520Q440,520 440,520Q440,520 440,520L520,520Q520,520 520,520Q520,520 520,520L520,600Q520,600 520,600Q520,600 520,600L440,600Z"/>
|
||||
|
||||
</vector>
|
||||
|
|
@ -1,29 +0,0 @@
|
|||
<!--
|
||||
~ Copyright (c) 2025 Meshtastic LLC
|
||||
~
|
||||
~ This program is free software: you can redistribute it and/or modify
|
||||
~ it under the terms of the GNU General Public License as published by
|
||||
~ the Free Software Foundation, either version 3 of the License, or
|
||||
~ (at your option) any later version.
|
||||
~
|
||||
~ This program is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ GNU General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:height="24dp"
|
||||
android:width="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="?attr/colorControlNormal">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M12 7.5C12.69 7.5 13.27 7.73 13.76 8.2S14.5 9.27 14.5 10C14.5 11.05 14 11.81 13 12.28V21H11V12.28C10 11.81 9.5 11.05 9.5 10C9.5 9.27 9.76 8.67 10.24 8.2S11.31 7.5 12 7.5M16.69 5.3C17.94 6.55 18.61 8.11 18.7 10C18.7 11.8 18.03 13.38 16.69 14.72L15.5 13.5C16.5 12.59 17 11.42 17 10C17 8.67 16.5 7.5 15.5 6.5L16.69 5.3M6.09 4.08C4.5 5.67 3.7 7.64 3.7 10S4.5 14.3 6.09 15.89L4.92 17.11C3 15.08 2 12.7 2 10C2 7.3 3 4.94 4.92 2.91L6.09 4.08M19.08 2.91C21 4.94 22 7.3 22 10C22 12.8 21 15.17 19.08 17.11L17.91 15.89C19.5 14.3 20.3 12.33 20.3 10S19.5 5.67 17.91 4.08L19.08 2.91M7.31 5.3L8.5 6.5C7.5 7.42 7 8.58 7 10C7 11.33 7.5 12.5 8.5 13.5L7.31 14.72C5.97 13.38 5.3 11.8 5.3 10C5.3 8.2 5.97 6.64 7.31 5.3Z"
|
||||
android:fillAlpha=".5"
|
||||
/>
|
||||
</vector>
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="30dp"
|
||||
android:height="30dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#3388ff"
|
||||
android:strokeWidth="1.25"
|
||||
android:strokeColor="@android:color/white"
|
||||
android:pathData="M12,2C8.13,2 5,5.13 5,9c0,5.25 7,13 7,13s7,-7.75 7,-13c0,-3.87 -3.13,-7 -7,-7zM12,11.5c-1.38,0 -2.5,-1.12 -2.5,-2.5s1.12,-2.5 2.5,-2.5 2.5,1.12 2.5,2.5 -1.12,2.5 -2.5,2.5z" />
|
||||
<path
|
||||
android:fillColor="@android:color/transparent"
|
||||
android:pathData="M12,9m-2.5,0a2.5,2.5 0,1 1,5 0a2.5,2.5 0,1 1,-5 0" />
|
||||
</vector>
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
<vector
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="?attr/colorControlNormal"
|
||||
>
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M14,20H6V6H14M14.67,4H13V2H7V4H5.33C4.6,4 4,4.6 4,5.33V20.67C4,21.4 4.6,22 5.33,22H14.67C15.4,22 16,21.4 16,20.67V5.33C16,4.6 15.4,4 14.67,4M21,7H19V13H21V8M21,15H19V17H21V15Z"
|
||||
android:fillAlpha="0.5"
|
||||
/>
|
||||
</vector>
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
<vector
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="?attr/colorControlNormal"
|
||||
>
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M16,20H8V6H16M16.67,4H15V2H9V4H7.33C6.6,4 6,4.6 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67C17.41,22 18,21.41 18,20.67V5.33C18,4.6 17.4,4 16.67,4M15,16H9V19H15V16M15,7H9V10H15V7M15,11.5H9V14.5H15V11.5Z"
|
||||
android:fillAlpha="0.5"
|
||||
/>
|
||||
</vector>
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
<vector
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="?attr/colorControlNormal"
|
||||
>
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M16,20H8V6H16M16.67,4H15V2H9V4H7.33C6.6,4 6,4.6 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67C17.41,22 18,21.41 18,20.67V5.33C18,4.6 17.4,4 16.67,4M15,16H9V19H15V16"
|
||||
android:fillAlpha="0.5"
|
||||
/>
|
||||
</vector>
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
<vector
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="?attr/colorControlNormal"
|
||||
>
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M16,20H8V6H16M16.67,4H15V2H9V4H7.33C6.6,4 6,4.6 6,5.33V20.67C6,21.4 6.6,22 7.33,22H16.67C17.41,22 18,21.41 18,20.67V5.33C18,4.6 17.4,4 16.67,4M15,16H9V19H15V16M15,11.5H9V14.5H15V11.5Z"
|
||||
android:fillAlpha="0.5"
|
||||
/>
|
||||
</vector>
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
<vector
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="?attr/colorControlNormal"
|
||||
>
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M16,20H8V6H16M16.67,4H15V2H9V4H7.33A1.33,1.33 0,0 0,6 5.33V20.67C6,21.4 6.6,22 7.33,22H16.67A1.33,1.33 0,0 0,18 20.67V5.33C18,4.6 17.4,4 16.67,4Z"
|
||||
android:fillAlpha="0.5"
|
||||
/>
|
||||
</vector>
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
<vector
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="?attr/colorControlNormal"
|
||||
>
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M15.07,12.25L14.17,13.17C13.63,13.71 13.25,14.18 13.09,15H11.05C11.16,14.1 11.56,13.28 12.17,12.67L13.41,11.41C13.78,11.05 14,10.55 14,10C14,8.89 13.1,8 12,8A2,2 0,0 0,10 10H8A4,4 0,0 1,12 6A4,4 0,0 1,16 10C16,10.88 15.64,11.68 15.07,12.25M13,19H11V17H13M16.67,4H15V2H9V4H7.33A1.33,1.33 0,0 0,6 5.33V20.66C6,21.4 6.6,22 7.33,22H16.67C17.4,22 18,21.4 18,20.66V5.33C18,4.59 17.4,4 16.67,4Z"
|
||||
android:fillAlpha="0.5"
|
||||
/>
|
||||
</vector>
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="960"
|
||||
android:viewportHeight="960">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:pathData="M240,800h480v-400L240,400v400ZM480,680q33,0 56.5,-23.5T560,600q0,-33 -23.5,-56.5T480,520q-33,0 -56.5,23.5T400,600q0,33 23.5,56.5T480,680ZM240,800v-400,400ZM240,880q-33,0 -56.5,-23.5T160,800v-400q0,-33 23.5,-56.5T240,320h280v-80q0,-83 58.5,-141.5T720,40q83,0 141.5,58.5T920,240h-80q0,-50 -35,-85t-85,-35q-50,0 -85,35t-35,85v80h120q33,0 56.5,23.5T800,400v400q0,33 -23.5,56.5T720,880L240,880Z" />
|
||||
</vector>
|
||||
|
|
@ -1,11 +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="#3388ff"
|
||||
android:pathData="M12,12m-8,0a8,8 0,1 1,16 0a8,8 0,1 1,-16 0"
|
||||
android:strokeWidth="2.0"
|
||||
android:strokeColor="@android:color/white" />
|
||||
</vector>
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="36dp"
|
||||
android:height="36dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24">
|
||||
<path
|
||||
android:fillColor="#3388ff"
|
||||
android:pathData="M12,2L4.5,20.29l0.71,0.71L12,18l6.79,3 0.71,-0.71z"
|
||||
android:strokeWidth="1.5"
|
||||
android:strokeColor="@android:color/white" />
|
||||
</vector>
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!--
|
||||
Copyright (c) 2025 Meshtastic LLC
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="#FFFFFF"
|
||||
android:alpha="0.8">
|
||||
<group android:scaleX="0.24"
|
||||
android:scaleY="0.24"
|
||||
android:translateY="5.4">
|
||||
<path
|
||||
android:pathData="M64.716,13.073L37.867,52.447L32.204,48.585L61.878,5.068C62.516,4.132 63.575,3.572 64.707,3.571C65.839,3.57 66.899,4.128 67.538,5.063L97.281,48.512L91.625,52.384L64.716,13.073Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
<path
|
||||
android:pathData="M8.379,52.406L39.741,6.415L34.078,2.553L2.716,48.544L8.379,52.406Z"
|
||||
android:fillColor="#ffffff"/>
|
||||
</group>
|
||||
</vector>
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
<!--
|
||||
~ Copyright (c) 2025 Meshtastic LLC
|
||||
~
|
||||
~ This program is free software: you can redistribute it and/or modify
|
||||
~ it under the terms of the GNU General Public License as published by
|
||||
~ the Free Software Foundation, either version 3 of the License, or
|
||||
~ (at your option) any later version.
|
||||
~
|
||||
~ This program is distributed in the hope that it will be useful,
|
||||
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
~ GNU General Public License for more details.
|
||||
~
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:height="24dp"
|
||||
android:width="24dp"
|
||||
android:viewportWidth="24"
|
||||
android:viewportHeight="24"
|
||||
android:tint="?attr/colorControlNormal">
|
||||
<path
|
||||
android:fillColor="@android:color/white"
|
||||
android:fillAlpha=".5"
|
||||
android:pathData="M16,7V3H14V7H10V3H8V7H8C7,7 6,8 6,9V14.5L9.5,18V21H14.5V18L18,14.5V9C18,8 17,7 16,7Z" />
|
||||
</vector>
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
<vector xmlns:android="http://schemas.android.com/apk/res/android" android:height="24dp" android:tint="#000000" android:viewportHeight="960" android:viewportWidth="960" android:width="24dp">
|
||||
|
||||
<path android:fillColor="@android:color/white" android:pathData="M348,517L403,554L462,524Q470,519 480,519Q490,519 498,524L557,554L610,519L570,440Q570,440 570,440Q570,440 570,440L386,440Q386,440 386,440Q386,440 386,440L348,517ZM209,800L750,800L646,591L582,634Q573,640 562.5,640.5Q552,641 542,636L480,605L418,636Q408,641 397.5,640Q387,639 378,633L312,590L209,800ZM144,880Q121,880 109.5,861Q98,842 108,822L314,405Q324,385 343.5,372.5Q363,360 386,360L440,360L440,120Q440,103 451.5,91.5Q463,80 480,80L688,80Q699,80 705,89.5Q711,99 706,109L684,151Q682,156 682,160Q682,164 684,169L706,211Q711,221 705,230.5Q699,240 688,240L520,240L520,360L570,360Q593,360 612,372Q631,384 642,404L851,822Q861,842 849.5,861Q838,880 815,880L144,880ZM480,605L480,605L480,605L480,605L480,605L480,605L480,605Q480,605 480,605Q480,605 480,605L480,605Q480,605 480,605Q480,605 480,605L480,605L480,605L480,605L480,605Z"/>
|
||||
|
||||
</vector>
|
||||
Loading…
Add table
Add a link
Reference in a new issue