tsv files settings

This commit is contained in:
2023-06-28 19:16:21 +03:00
parent bd50c73354
commit b6219355bd
6 changed files with 232 additions and 5 deletions
@@ -3,6 +3,9 @@ package com.illusionware.npsbrowser.ui.pages
import android.net.Uri
import androidx.activity.compose.rememberLauncherForActivityResult
import androidx.activity.result.contract.ActivityResultContracts
import androidx.compose.animation.AnimatedVisibility
import androidx.compose.animation.expandVertically
import androidx.compose.animation.fadeIn
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box
@@ -19,9 +22,16 @@ import androidx.compose.foundation.verticalScroll
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.ArrowBack
import androidx.compose.material.icons.filled.ContentPaste
import androidx.compose.material.icons.outlined.ArrowCircleDown
import androidx.compose.material.icons.outlined.ArrowDownward
import androidx.compose.material.icons.outlined.ArrowDropDown
import androidx.compose.material.icons.outlined.ArrowOutward
import androidx.compose.material.icons.outlined.ArrowUpward
import androidx.compose.material.icons.outlined.CompareArrows
import androidx.compose.material.icons.outlined.FileDownload
import androidx.compose.material.icons.outlined.Key
import androidx.compose.material.icons.outlined.Palette
import androidx.compose.material.icons.outlined.SubdirectoryArrowRight
import androidx.compose.material.icons.outlined.Unarchive
import androidx.compose.material3.Icon
import androidx.compose.material3.MaterialTheme
@@ -46,8 +56,11 @@ import androidx.compose.ui.platform.LocalClipboardManager
import androidx.compose.ui.platform.LocalContext
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.style.TextOverflow
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import com.illusionware.npsbrowser.ConsoleType
import com.illusionware.npsbrowser.DataType
import com.illusionware.npsbrowser.Preferences
import com.illusionware.npsbrowser.R
import com.illusionware.npsbrowser.ui.components.NPSAlertDialog
@@ -90,6 +103,7 @@ fun SettingsScreen(navigationGoBack: () -> Unit = {}, onThemeChange: (v: Int) ->
) {
Column(verticalArrangement = Arrangement.spacedBy(20.dp), modifier = Modifier.padding(vertical = 16.dp)) {
Appearance(onThemeChange)
TsvFiles()
Updates()
Downloads()
Pkg2Zip()
@@ -122,6 +136,156 @@ fun Appearance(onThemeChange: (v: Int) -> Unit) {
}
}
@Composable
fun TsvFiles() {
val prefs = Preferences(LocalContext.current)
val scope = rememberCoroutineScope()
var expanded by remember { mutableStateOf(false) }
val psvGames = prefs.psvGames.collectAsState(initial = "").value.ifEmpty { "Browse" }
val psvDlc = prefs.psvDLC.collectAsState(initial = "").value.ifEmpty { "Browse" }
val psvThemes = prefs.psvThemes.collectAsState(initial = "").value.ifEmpty { "Browse" }
val ps3Games = prefs.ps3Games.collectAsState(initial = "").value.ifEmpty { "Browse" }
val ps3Dlc = prefs.ps3DLC.collectAsState(initial = "").value.ifEmpty { "Browse" }
val pspGames = prefs.pspGames.collectAsState(initial = "").value.ifEmpty { "Browse" }
val pspDlc = prefs.pspDLC.collectAsState(initial = "").value.ifEmpty { "Browse" }
val psxGames = prefs.psxGames.collectAsState(initial = "").value.ifEmpty { "Browse" }
val psmGames = prefs.psmGames.collectAsState(initial = "").value.ifEmpty { "Browse" }
SettingGroup(title = "TSV Files") {
TSVPicker(
title = "PSV Games",
value = Uri.decode(psvGames),
icon = painterResource(id = R.drawable.vita_icon),
onFilePick = {
scope.launch(Dispatchers.IO) {
prefs.setTSVFile(ConsoleType.PSVITA, DataType.GAMES, it)
}
}
)
TSVPicker(
title = "PSV DLC",
value = Uri.decode(psvDlc),
icon = null,
onFilePick = {
scope.launch(Dispatchers.IO) {
prefs.setTSVFile(ConsoleType.PSVITA, DataType.DLC, it)
}
}
)
TSVPicker(
title = "PSV Themes",
value = Uri.decode(psvThemes),
icon = null,
onFilePick = {
scope.launch(Dispatchers.IO) {
prefs.setTSVFile(ConsoleType.PSVITA, DataType.THEMES, it)
}
},
)
TSVPicker(
title = "PS3 Games",
value = Uri.decode(ps3Games),
icon = painterResource(id = R.drawable.ps3_icon),
onFilePick = {
scope.launch(Dispatchers.IO) {
prefs.setTSVFile(ConsoleType.PS3, DataType.GAMES, it)
}
}
)
if (!expanded) {
DialogSetting(
title = "Expand",
value = "PS3 DLC, PSP Games, PSP DLC, PSX Games, PSM Games",
icon = Icons.Outlined.ArrowDropDown,
singleLine = true,
onClick = { expanded = true },
)
}
AnimatedVisibility(
visible = expanded,
enter = fadeIn() + expandVertically(),
) {
Column(verticalArrangement = Arrangement.spacedBy(4.dp)) {
TSVPicker(
title = "PS3 DLC",
value = Uri.decode(ps3Dlc),
icon = null,
onFilePick = {
scope.launch(Dispatchers.IO) {
prefs.setTSVFile(ConsoleType.PS3, DataType.DLC, it)
}
}
)
TSVPicker(
title = "PSP Games",
value = Uri.decode(pspGames),
icon = painterResource(id = R.drawable.psp_icon),
onFilePick = {
scope.launch(Dispatchers.IO) {
prefs.setTSVFile(ConsoleType.PSP, DataType.GAMES, it)
}
}
)
TSVPicker(
title = "PSP DLC",
value = Uri.decode(pspDlc),
icon = null,
onFilePick = {
scope.launch(Dispatchers.IO) {
prefs.setTSVFile(ConsoleType.PSP, DataType.DLC, it)
}
}
)
TSVPicker(
title = "PSX Games",
value = Uri.decode(psxGames),
icon = painterResource(id = R.drawable.psx_icon),
onFilePick = {
scope.launch(Dispatchers.IO) {
prefs.setTSVFile(ConsoleType.PSX, DataType.GAMES, it)
}
}
)
TSVPicker(
title = "PSM Games",
value = Uri.decode(psmGames),
icon = painterResource(id = R.drawable.psm_icon),
onFilePick = {
scope.launch(Dispatchers.IO) {
prefs.setTSVFile(ConsoleType.PSM, DataType.GAMES, it)
}
}
)
}
}
}
}
@Composable
fun TSVPicker(
title: String,
value: String,
icon: Painter? = null,
onFilePick: (Uri) -> Unit,
) {
val filePicker = rememberLauncherForActivityResult(
contract = ActivityResultContracts.GetContent(),
) { fileUri ->
if (fileUri != null) {
onFilePick(fileUri)
}
}
DialogSetting(
title = title,
value = value,
icon = icon,
onClick = {
filePicker.launch("text/tab-separated-values")
}
)}
@Composable
fun Updates() {
val prefs = Preferences(LocalContext.current)
@@ -374,7 +538,7 @@ fun Header(title: String) {
}
@Composable
fun DialogSetting(title: String, value: String, icon: Painter, onClick: () -> Unit) {
fun DialogSetting(title: String, value: String, icon: Painter?, onClick: () -> Unit) {
Box(
Modifier
.fillMaxWidth()
@@ -384,7 +548,11 @@ fun DialogSetting(title: String, value: String, icon: Painter, onClick: () -> Un
verticalAlignment = Alignment.CenterVertically,
modifier = Modifier.padding(vertical = 8.dp)
) {
Icon(painter = icon, contentDescription = null, modifier = Modifier.width(56.dp))
if (icon != null) {
Icon(painter = icon, contentDescription = null, modifier = Modifier.width(56.dp))
} else {
Box(modifier = Modifier.width(56.dp))
}
Column {
Text(text = title, color = MaterialTheme.colorScheme.onBackground)
Text(text = value, color = ColorSecondaryLight)
@@ -394,7 +562,13 @@ fun DialogSetting(title: String, value: String, icon: Painter, onClick: () -> Un
}
@Composable
fun DialogSetting(title: String, value: String, icon: ImageVector, onClick: () -> Unit) {
fun DialogSetting(
title: String,
value: String,
icon: ImageVector?,
onClick: () -> Unit,
singleLine : Boolean = false
) {
Box(
Modifier
.fillMaxWidth()
@@ -404,10 +578,20 @@ fun DialogSetting(title: String, value: String, icon: ImageVector, onClick: () -
verticalAlignment = Alignment.CenterVertically,
modifier = Modifier.padding(vertical = 8.dp)
) {
Icon(imageVector = icon, contentDescription = null, modifier = Modifier.width(56.dp))
if (icon != null) {
Icon(imageVector = icon, contentDescription = null, modifier = Modifier.width(56.dp))
} else {
Box(modifier = Modifier.width(56.dp))
}
Column {
Text(text = title, color = MaterialTheme.colorScheme.onBackground)
Text(text = value, color = ColorSecondaryLight)
Text(
text = value,
color = ColorSecondaryLight,
maxLines = if (singleLine) 1 else Int.MAX_VALUE,
overflow = TextOverflow.Ellipsis,
modifier = Modifier.padding(end = 24.dp)
)
}
}
}
+9
View File
@@ -0,0 +1,9 @@
<vector android:height="24dp" android:viewportHeight="425.72"
android:viewportWidth="425.72" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#000000"
android:pathData="m70.82,87.19c-6.6,1.9 -7.7,2.7 -9.1,6.9 -0.5,1.8 -2.3,4 -4,4.9 -4.3,2.6 -5.6,5.9 -7,17.9 -1.2,9.7 -1.5,10.7 -3.8,11.9 -4.9,2.7 -15,14.9 -19.5,23.7 -7.3,14.2 -9.7,23.8 -17.6,71.7 -8.9,53.3 -10.3,63.7 -9.7,71.5 1.1,16.1 9.2,31.1 20,37.5 13.7,8 31.4,9.1 44.9,2.7 10.9,-5.1 14.4,-9.5 36.1,-45l11.8,-19.3 5.5,6.1c3,3.3 7.5,7.2 9.9,8.6 22,12.9 50.7,5.2 62.3,-16.6l3.2,-6l20.4,-0 20.5,-0l2.6,5.1c3.2,6.4 10.4,14.2 16.2,17.6 17.9,10.5 41.6,7.3 55.3,-7.5 2.2,-2.3 4.1,-4.2 4.3,-4.2 0.2,-0 7,10.3 15,22.8 8,12.6 16.2,24.7 18.2,27 8,9.4 18.8,14.2 32,14.2 24.4,-0 39.7,-11.3 45.4,-33.6 1.1,-4.2 2,-9.7 2,-12.1 0,-9.3 -14.7,-106.4 -18.5,-122.1 -0.9,-3.7 -3.7,-11 -6.2,-16.2 -3.7,-7.7 -6,-10.8 -12.2,-17 -4.2,-4.2 -8.6,-8.3 -9.9,-9.1 -2,-1.2 -2.5,-2.8 -3.8,-12.9 -1.7,-12.7 -2.6,-14.8 -8.3,-18.6 -2.2,-1.4 -4.2,-3.6 -4.5,-4.8 -1,-4.1 -10.3,-6.6 -24.6,-6.6 -14,-0 -23.4,2.5 -24.6,6.4 -0.4,1.1 -2.6,3.8 -5,5.9 -4.7,4.1 -5.7,6.6 -7.4,17.7 -0.6,4.1 -1.3,8.5 -1.6,9.7l-0.4,2.3l-36.1,-0c-31.7,-0 -36.4,0.2 -39.2,1.7 -4.4,2.2 -16.9,2.3 -22.1,-0 -5.2,-2.3 -18.6,-2.4 -18.6,-0.2 0,0.8 -0.9,1.5 -2,1.5 -1.1,-0 -2,-0.7 -2,-1.5 0,-1.1 -1.2,-1.5 -4.5,-1.5 -3.3,-0 -4.5,0.4 -4.5,1.5 0,0.8 -0.7,1.5 -1.5,1.5 -0.8,-0 -1.5,-0.7 -1.5,-1.5 0,-1.1 -1.2,-1.5 -4.4,-1.5 -3,-0 -4.6,0.5 -5,1.5 -0.3,0.8 -1.2,1.5 -2.1,1.5 -0.8,-0 -1.5,-0.7 -1.5,-1.5 0,-1.1 -1.2,-1.5 -4.5,-1.5 -3.3,-0 -4.5,0.4 -4.5,1.5 0,0.8 -0.9,1.5 -2,1.5 -1.1,-0 -2,-0.7 -2,-1.5 0,-1.2 -1.4,-1.5 -6.5,-1.5 -7.4,-0 -6.6,1.3 -8.9,-13.6 -1.6,-10.1 -3.2,-13.3 -8.1,-16.4 -1.8,-1.1 -4.2,-3.5 -5.3,-5.3 -2.6,-4.6 -7.3,-5.9 -22.7,-6.3 -9.5,-0.3 -14.4,-0 -18.4,1.1zM102.72,122.29c3.6,0.8 10.3,3.3 15,5.6 11.9,5.7 23.8,17.7 29.8,29.9 6.7,13.6 8.8,28.2 6.1,43.6 -0.9,5.3 -1.4,6.3 -3.1,6.3 -1.7,-0 -1.9,-0.4 -1.3,-2.3 1.6,-5.2 1.7,-25.1 0.1,-31.9 -5.4,-23 -24.1,-41.9 -46.9,-47.3 -8,-1.9 -22.5,-1.9 -30.6,-0 -21.9,5.2 -41.4,24.7 -46.6,46.6 -1.9,8.2 -1.9,22.6 0.1,30.9 4.1,17.5 17.1,33.8 33.4,41.9 13.9,6.8 25.7,8.5 40.6,5.6 6.2,-1.2 8,-1.2 8.6,-0.2 1.5,2.4 -6.9,4.1 -20.7,4.1 -11.1,0.1 -14,-0.2 -20,-2.2 -17.5,-5.8 -32.6,-18.6 -40.3,-34.3 -9.6,-19.5 -9.7,-40.9 -0.1,-60.7 5.9,-12.2 17.9,-24.2 29.9,-30 4.7,-2.3 11.2,-4.8 14.5,-5.6 8,-1.9 23.4,-1.9 31.5,-0zM355.12,122.19c22,4.7 42.2,23.1 49.2,44.9 12.3,38.2 -11.3,78.8 -50.7,87.2 -5.2,1.1 -10.5,1.5 -17.9,1.1 -11.4,-0.5 -16,-1.8 -16,-4.3 0,-1.1 0.5,-1.4 1.6,-1 4.1,1.6 16.6,2.8 22.9,2.3 26.5,-2.3 48.8,-20.2 56.7,-45.7 3.4,-11 3.2,-26.4 -0.6,-37.7 -14.8,-45.3 -72.1,-59.1 -105.6,-25.4 -15.4,15.5 -22,37.1 -17.6,57.8 1.2,5.8 1.1,6.3 -0.4,6.3 -4.1,-0 -5.4,-23.3 -2,-36.4 3.1,-12.2 8.2,-20.9 18,-30.6 9.6,-9.7 18.3,-14.9 30.2,-18 8.9,-2.3 22.6,-2.5 32.2,-0.5zM347.42,141.79c13.7,6.6 8.8,27 -6.5,27.2 -8.5,0.1 -14.2,-5.6 -14.2,-14.4 0,-5.6 2.9,-10.4 8,-13 4.5,-2.4 7.4,-2.4 12.7,0.2zM89.72,146.19 L92.02,148.69l-5.9,-0 -5.9,-0l3,-2.5c3.7,-3 3.7,-3 6.5,-0zM96.52,164.09c0.3,7.1 0.1,8.1 -2,10.3 -2.4,2.6 -6.9,5.3 -8.7,5.3 -0.6,-0 -2.9,-1.6 -5.1,-3.6l-4,-3.6l0,-7.7c0,-4.3 0.3,-8.1 0.7,-8.5 0.4,-0.4 4.8,-0.5 9.8,-0.4l9,0.3zM381.62,174.49c10,5 10.6,18.6 1.2,24.9 -9.2,6.2 -22.1,-1 -22.1,-12.2 0,-10.7 11.3,-17.6 20.9,-12.7zM311.82,175.99c9.4,6.3 8.8,19.9 -1.2,24.9 -9.6,4.9 -20.9,-2 -20.9,-12.7 0,-11.2 12.9,-18.4 22.1,-12.2zM72.42,181.89c6,6.5 6,8.2 0,14.5 -2.9,3.1 -3.5,3.3 -9.8,3.3 -9,-0 -9.9,-1 -9.9,-10.5 0,-9.5 0.9,-10.5 9.9,-10.5 6.3,-0 6.9,0.2 9.8,3.2zM117.82,179.69c1.6,0.9 1.9,2.2 1.9,9.3 0,5.1 -0.5,8.8 -1.2,9.5 -0.7,0.7 -4,1.2 -7.9,1.2 -7.5,-0 -10.2,-1.5 -13.4,-7.3 -1.8,-3.4 -1.8,-3.5 0.5,-7.2 1.3,-2 3.7,-4.3 5.4,-5.1 3.7,-1.6 12,-1.8 14.7,-0.4zM188.52,182.29c2.4,1.7 3,7 1.2,10.5 -0.9,1.6 -2.2,1.9 -9.3,1.9 -5.1,-0 -8.8,-0.5 -9.5,-1.2 -1.9,-1.9 -1.5,-10.5 0.6,-11.7 2.8,-1.7 14.4,-1.3 17,0.5zM255.62,185.09c3.8,1.7 4.9,4.2 2.9,6.2 -2.3,2.4 -17,4.5 -20.1,3 -3.2,-1.7 -3.7,-9.8 -0.7,-11.9 1.9,-1.3 2.9,-1.3 8.8,-0 3.7,0.8 7.8,2 9.1,2.7zM131.42,191.49 L128.72,194.19l0,-5.8 0,-5.9l2.7,3.2 2.6,3.2zM45.72,190.29c0,5 -0.2,5.5 -1.6,4.4 -3.3,-2.8 -3.7,-5 -1.3,-7.6 1.2,-1.3 2.4,-2.4 2.6,-2.4 0.2,-0 0.3,2.5 0.3,5.6zM92.82,202.59c3.8,3.7 3.9,4.1 3.9,10.8 0,4 -0.5,7.4 -1.2,8.1 -0.7,0.7 -4.2,1.2 -8.8,1.2 -4.6,-0 -8.1,-0.5 -8.8,-1.2 -0.7,-0.7 -1.2,-4.1 -1.2,-8.4 0,-7.1 0,-7.2 4,-10.8 2.2,-2 5,-3.6 6.1,-3.6 1.2,-0 3.9,1.7 6,3.9zM221.42,204.79c12.1,7.5 6.5,26.9 -7.7,26.9 -5,-0 -10.7,-3.8 -13,-8.5 -2.5,-5.1 -2.5,-6.9 0,-12.2 3.5,-7.9 13.3,-10.8 20.7,-6.2zM349.22,209.09c10.6,8.1 4.4,25.6 -9,25.6 -7.8,-0 -13.6,-5.4 -14.3,-13.2 -0.3,-4.4 0,-5.9 2,-8.8 4.9,-7.3 14.3,-8.9 21.3,-3.6zM163.72,220.29c6.8,3.1 12.3,8.3 15.8,14.9 2.3,4.3 2.7,6.2 2.7,13.5 0,7.3 -0.4,9.2 -2.7,13.6 -7.2,13.8 -23.8,21.1 -38.4,17 -20.1,-5.8 -30.1,-26.6 -21.1,-44.2 8.1,-15.7 27.2,-22.2 43.7,-14.8zM292.32,220.19c20.8,9.4 25.7,36.2 9.2,51 -6.8,6.2 -14,8.9 -23.3,8.9 -9.9,-0 -16.7,-2.8 -23.7,-9.7 -8.1,-8.2 -11,-21 -7.2,-32.1 2,-5.8 10,-14.7 15.8,-17.6 9.3,-4.5 20,-4.7 29.2,-0.5zM90.72,232.29c-2.7,3.2 -4.6,3.4 -7,0.9l-2.3,-2.5l5.2,-0c4.7,-0 5.2,0.2 4.1,1.6z" android:strokeColor="#00000000"/>
<path android:fillColor="#000000"
android:pathData="m138.22,225.79c-5.1,2.5 -10.1,7.4 -12.8,12.4 -1.7,3.1 -2.2,5.8 -2.2,11.5 0,8.7 2,13.2 8.2,19.2 5.1,4.9 10.5,7 17.9,7 10.3,0.1 18.7,-5.1 23.7,-14.6 3,-5.8 3.1,-17.4 0,-23.1 -2.8,-5.2 -8.8,-11 -13.5,-13 -5.4,-2.2 -16.3,-1.9 -21.3,0.6z" android:strokeColor="#00000000"/>
<path android:fillColor="#000000"
android:pathData="m268.12,225.59c-15.5,7.1 -20.2,27.5 -9.4,41.1 6.8,8.6 21.4,11.9 31.3,7.1 8.8,-4.3 15.7,-14.9 15.7,-24.1 0,-9.2 -6.8,-19.6 -15.4,-23.6 -6.5,-3 -16.2,-3.2 -22.2,-0.5z" android:strokeColor="#00000000"/>
</vector>
+11
View File
@@ -0,0 +1,11 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="29.424"
android:viewportHeight="29.424">
<path
android:fillColor="#FF000000"
android:pathData="m14.712,-0c-3.803,0 -7.607,0.701 -10.992,2.103 -0.704,0.292 -1.325,0.913 -1.617,1.617 -2.804,6.77 -2.804,15.214 0,21.984 0.292,0.704 0.913,1.325 1.617,1.617 6.77,2.804 15.214,2.804 21.984,0 0.704,-0.292 1.325,-0.913 1.617,-1.617 2.804,-6.77 2.804,-15.214 0,-21.984 -0.292,-0.704 -0.913,-1.325 -1.617,-1.617 -3.385,-1.402 -7.188,-2.103 -10.992,-2.103zM20.15,5.003c1.807,3.129 3.612,6.258 5.419,9.387l-10.839,0c1.806,-3.129 3.613,-6.258 5.419,-9.387zM5.277,5.652l8.719,0l0,8.719L5.277,14.371ZM6.678,7.052l0,5.918l5.918,0L12.596,7.052ZM20.15,7.869c-0.979,1.696 -1.959,3.392 -2.938,5.088l5.876,0c-0.979,-1.696 -1.959,-3.392 -2.938,-5.088zM20.14,14.938c0.039,-0 0.077,0 0.116,0.001 0.364,-0 0.727,0.041 1.082,0.123 2.378,0.501 4.09,3.008 3.664,5.406 -0.324,2.452 -2.777,4.359 -5.235,4.047 -2.465,-0.199 -4.49,-2.554 -4.305,-5.022 0.071,-2.433 2.252,-4.544 4.679,-4.555zM12.904,15.595c0.34,0.336 0.68,0.672 1.02,1.008 -1.085,1.098 -2.169,2.195 -3.254,3.293 1.097,1.085 2.194,2.169 3.291,3.254 -0.335,0.34 -0.671,0.68 -1.006,1.02l-3.293,-3.256 -3.256,3.293c-0.34,-0.336 -0.68,-0.672 -1.02,-1.008l3.256,-3.293c-1.098,-1.085 -2.195,-2.169 -3.293,-3.254 0.336,-0.34 0.672,-0.68 1.008,-1.02l3.293,3.254c1.085,-1.097 2.169,-2.194 3.254,-3.291zM20.347,16.447c-0.03,0 -0.061,0.001 -0.091,0.002 -1.242,-0.016 -2.443,0.735 -2.969,1.86 -0.891,1.722 0.112,4.06 1.987,4.576 1.838,0.634 4.008,-0.707 4.238,-2.642 0.356,-1.888 -1.252,-3.803 -3.164,-3.796z"
android:strokeWidth="1"
android:strokeLineCap="square"/>
</vector>
+6
View File
@@ -0,0 +1,6 @@
<vector android:height="24dp" android:viewportHeight="426.81"
android:viewportWidth="426.81" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#000000"
android:pathData="m73.19,122.41 l-14.23,14h-28.7,-4.43c-6.4,7.57 -10.74,14.82 -14.96,24.9 -12,28.5 -13.7,60.5 -4.5,88.3 5.4,16.2 20.4,39.7 32.2,50.3l5,4.5L196.27,304.4 348.87,304.4l9,-9 8.9,-9 17,-0.2 17,-0.3 3.8,-5c9.1,-11.9 17.3,-32 20.2,-49.4 5.55,-33.2 -4.23,-71.49 -23.84,-95.5L391.7,136l-9.93,0.2c-8.1,0.1 -15.3,0.1 -15.9,-0.2 -0.57,-0.19 -2.84,-2.48 -5.02,-5.08l-8.42,-8.52L213.47,122.41ZM87.37,133.4h124.5,124.5v72,72h-124.5,-124.5v-72zM381.24,162.24c6.86,0 12.42,5.56 12.42,12.42 0,6.86 -5.56,12.42 -12.42,12.42 -6.86,0 -12.42,-5.56 -12.42,-12.42 0,-6.86 5.56,-12.42 12.42,-12.42zM36.78,167.09h16.94c0.75,0 1.35,0.61 1.35,1.35v15.7c0,0.87 -0.35,1.69 -0.98,2.29l-7.89,7.58c-0.55,0.52 -1.41,0.52 -1.96,0l-7.91,-7.58c-0.62,-0.6 -0.98,-1.43 -0.97,-2.29l0.05,-15.7c0,-0.75 0.61,-1.36 1.36,-1.36zM355.46,188.03c6.86,0 12.42,5.56 12.42,12.42 0,6.86 -5.56,12.42 -12.42,12.42 -6.86,0 -12.42,-5.56 -12.42,-12.42 0,-6.86 5.56,-12.42 12.42,-12.42zM407.02,188.03c6.86,0 12.42,5.56 12.42,12.42 0,6.86 -5.56,12.42 -12.42,12.42 -6.86,0 -12.42,-5.56 -12.42,-12.42 0,-6.86 5.56,-12.42 12.42,-12.42zM29.38,190.15c0.87,-0 1.69,0.35 2.29,0.97l7.58,7.91c0.52,0.55 0.52,1.41 -0,1.96l-7.58,7.89c-0.6,0.62 -1.43,0.98 -2.29,0.98h-15.7c-0.75,0 -1.35,-0.61 -1.35,-1.35v-16.94c0,-0.75 0.61,-1.36 1.35,-1.36zM61.25,190.33h15.7c0.75,0 1.35,0.61 1.35,1.35v16.94c0,0.75 -0.61,1.36 -1.36,1.36l-15.7,0.05c-0.87,0 -1.7,-0.35 -2.29,-0.97l-7.58,-7.91c-0.52,-0.55 -0.52,-1.41 0,-1.96l7.58,-7.89c0.6,-0.62 1.43,-0.98 2.3,-0.98zM45.39,205.76c0.35,-0 0.71,0.13 0.98,0.39l7.91,7.58c0.62,0.6 0.98,1.43 0.98,2.29l-0.05,15.7c-0,0.75 -0.61,1.36 -1.36,1.36h-16.94c-0.75,0 -1.35,-0.61 -1.35,-1.35v-15.7c0,-0.87 0.35,-1.69 0.98,-2.29l7.89,-7.58c0.27,-0.26 0.63,-0.39 0.98,-0.39zM381.24,213.81c6.86,0 12.42,5.56 12.42,12.42 0,6.86 -5.56,12.42 -12.42,12.42 -6.86,0 -12.42,-5.56 -12.42,-12.42 0,-6.86 5.56,-12.42 12.42,-12.42zM48.04,243.19a14.41,14.41 0,0 1,14.41 14.41,14.41 14.41,0 0,1 -14.41,14.41 14.41,14.41 0,0 1,-14.41 -14.41,14.41 14.41,0 0,1 6.47,-11.69c0.3,-0.22 0.61,-0.43 0.93,-0.62a14.41,14.41 0,0 1,2.57 -1.21c1.17,-0.41 2.39,-0.66 3.65,-0.73a14.41,14.41 0,0 1,0.8 -0.16zM36.97,289.26h25.36l11.85,10.16h-25.36l-0.01,-0.01h-2.03l-4.9,-5 -4.9,-5h0.17z"
android:strokeColor="#00000000" android:strokeWidth="0.0999997"/>
</vector>
+9
View File
@@ -0,0 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportWidth="50"
android:viewportHeight="50">
<path
android:fillColor="#FF000000"
android:pathData="M19.313,4C19.012,4 18.707,3.988 18.406,4.188C18.105,4.387 18,4.699 18,5L18,41.594C18,41.992 18.289,42.395 18.688,42.594L26.688,45L27,45C27.199,45 27.395,44.914 27.594,44.813C27.895,44.613 28,44.301 28,44L28,13.406C28.602,13.707 29,14.301 29,15L29,26.094C29,26.395 29.199,26.805 29.5,26.906C29.699,27.008 31.199,27.906 34,27.906C36.699,27.906 40,26.414 40,19.313C40,13.613 36.813,9.293 31.313,7.594ZM17,26.406L5.906,30.406L4.313,31C1.613,32.102 0,33.887 0,35.688C0,39.488 2.699,41.688 7.5,41.688C10.102,41.688 13.301,41.113 17,39.813L17,36C16.102,36.301 15.113,36.699 14.313,37C12.711,37.602 11.5,37.813 10.5,37.813C9,37.813 8.301,37.301 8,37C7.602,36.699 7.398,36.313 7.5,35.813C7.602,34.813 8.801,33.895 11,33.094C11.5,32.895 14.898,31.699 17,31ZM36.5,28.906C34.102,29.008 31.602,29.395 29,30.094L29,34.688C30.102,34.289 31.586,33.801 33.688,33C38.488,31.301 40.492,31.488 41.094,31.688C42.293,31.789 42.801,32.5 43,33C43.5,34.5 41.613,35.188 38.813,36.188C37.512,36.688 31.898,38.688 29,39.688L29,44.313L44.5,38.813L45.688,38.313C47.688,37.613 50.199,36.301 50,34C49.898,31.801 47.211,30.695 45.313,30.094C42.512,29.195 39.5,28.805 36.5,28.906Z"/>
</vector>
+8
View File
@@ -0,0 +1,8 @@
<vector android:height="24dp" android:viewportHeight="115.43"
android:viewportWidth="115.43" android:width="24dp"
xmlns:aapt="http://schemas.android.com/aapt" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#000000" android:fillType="nonZero"
android:pathData="m27.32,30.4c-15.13,0 -27.32,12.18 -27.32,27.32 0,15.13 12.18,27.32 27.32,27.32l60.79,0c15.13,0 27.32,-12.18 27.32,-27.32 0,-15.13 -12.18,-27.32 -27.32,-27.32zM24.62,38.44L90.61,38.44L90.61,76.22L24.62,76.22ZM10.54,44.52l4.03,0c0.18,0 0.32,0.14 0.32,0.32l0,3.74c0,0.21 -0.08,0.4 -0.23,0.55l-1.88,1.8c-0.13,0.12 -0.34,0.12 -0.47,0l-1.88,-1.8c-0.15,-0.14 -0.23,-0.34 -0.23,-0.55l0.01,-3.74c0,-0.18 0.15,-0.32 0.32,-0.32zM104.06,44.6c1.54,0 2.78,1.25 2.78,2.78 0,1.54 -1.25,2.78 -2.78,2.78 -1.54,0 -2.78,-1.25 -2.78,-2.78 0,-1.54 1.25,-2.78 2.78,-2.78zM109.1,49.65c1.54,0 2.78,1.25 2.78,2.78 0,1.54 -1.25,2.78 -2.78,2.78 -1.54,0 -2.78,-1.25 -2.78,-2.78 0,-1.54 1.25,-2.78 2.78,-2.78zM99.01,49.65c1.54,0 2.78,1.25 2.78,2.78 0,1.54 -1.25,2.78 -2.78,2.78 -1.54,0 -2.78,-1.25 -2.78,-2.78 0,-1.54 1.25,-2.78 2.78,-2.78zM8.78,50c0.21,-0 0.4,0.08 0.55,0.23l1.81,1.88c0.12,0.13 0.12,0.34 -0,0.47l-1.8,1.88c-0.14,0.15 -0.34,0.23 -0.55,0.23l-3.74,0c-0.18,0 -0.32,-0.14 -0.32,-0.32l0,-4.03c0,-0.18 0.14,-0.32 0.32,-0.32zM16.37,50.05l3.74,0c0.18,0 0.32,0.14 0.32,0.32l0,4.03c0,0.18 -0.14,0.32 -0.32,0.32l-3.74,0.01c-0.21,0 -0.4,-0.08 -0.55,-0.23l-1.8,-1.88c-0.12,-0.13 -0.12,-0.34 0,-0.47l1.8,-1.88c0.14,-0.15 0.34,-0.23 0.55,-0.23zM12.59,53.72c0.08,-0 0.17,0.03 0.23,0.09l1.88,1.81c0.15,0.14 0.23,0.34 0.23,0.55l-0.01,3.74c-0,0.18 -0.15,0.32 -0.32,0.32l-4.03,0c-0.18,0 -0.32,-0.14 -0.32,-0.32l0,-3.74c0,-0.21 0.08,-0.4 0.23,-0.55l1.88,-1.8c0.06,-0.06 0.15,-0.09 0.23,-0.09zM104.06,54.69c1.54,0 2.78,1.25 2.78,2.78 0,1.54 -1.25,2.78 -2.78,2.78 -1.54,0 -2.78,-1.25 -2.78,-2.78 0,-1.54 1.25,-2.78 2.78,-2.78zM15.83,66.39a2.87,2.87 0,0 1,2.87 2.87,2.87 2.87,0 0,1 -2.87,2.87 2.87,2.87 0,0 1,-2.87 -2.87,2.87 2.87,0 0,1 2.87,-2.87zM99.39,66.41a2.87,2.87 89.99,0 1,2.87 2.87,2.87 2.87,89.99 0,1 -2.87,2.87 2.87,2.87 89.99,0 1,-2.87 -2.87,2.87 2.87,89.99 0,1 2.87,-2.87z"
android:strokeColor="#00000000" android:strokeLineCap="square"
android:strokeLineJoin="round" android:strokeWidth="1"/>
</vector>