Skip to content
Snippets Groups Projects
Unverified Commit e8812ca4 authored by marcmuschko's avatar marcmuschko Committed by GitHub
Browse files

UI Adjustments, External Navigation Issues (#380)


* adjusted icon size on main about, adjusted text spacing

* design adjustments and spacings

* changed onboarding flow; user does not get navigated to screen 4 after declining tracing permission; explicit denial required

* catch exception when no browser or phone app installed

* fixed main overview a18n contrast issue

* merged external navigation helpers into single helper object

* adjusted bluetooth settings navigatioN

* added custom exception for external actions; added external action helper

* fixed build issues

Co-authored-by: default avatarharambasicluka <64483219+harambasicluka@users.noreply.github.com>
parent 4169e932
No related branches found
No related tags found
No related merge requests found
Showing
with 435 additions and 353 deletions
package de.rki.coronawarnapp.exception
import de.rki.coronawarnapp.R
import de.rki.coronawarnapp.exception.reporting.ErrorCodes
import de.rki.coronawarnapp.exception.reporting.ReportedException
class ExternalActionException(cause: Throwable) : ReportedException(
ErrorCodes.EXTERNAL_NAVIGATION.code,
"Error during external navigation, likely due to bad target / action not available",
cause,
R.string.errors_external_action
)
...@@ -19,5 +19,6 @@ enum class ErrorCodes(val code: Int) { ...@@ -19,5 +19,6 @@ enum class ErrorCodes(val code: Int) {
REPORTED_EXCEPTION_UNKNOWN_PROBLEM(9002), REPORTED_EXCEPTION_UNKNOWN_PROBLEM(9002),
// NONTECHNICAL // NONTECHNICAL
NO_NETWORK_CONNECTIVITY(1) NO_NETWORK_CONNECTIVITY(1),
EXTERNAL_NAVIGATION(10),
} }
...@@ -9,7 +9,7 @@ import androidx.fragment.app.Fragment ...@@ -9,7 +9,7 @@ import androidx.fragment.app.Fragment
import de.rki.coronawarnapp.R import de.rki.coronawarnapp.R
import de.rki.coronawarnapp.databinding.FragmentInformationContactBinding import de.rki.coronawarnapp.databinding.FragmentInformationContactBinding
import de.rki.coronawarnapp.ui.main.MainActivity import de.rki.coronawarnapp.ui.main.MainActivity
import de.rki.coronawarnapp.util.CallHelper import de.rki.coronawarnapp.util.ExternalActionHelper
/** /**
* Basic Fragment which only displays static content. * Basic Fragment which only displays static content.
...@@ -57,7 +57,7 @@ class InformationContactFragment : Fragment() { ...@@ -57,7 +57,7 @@ class InformationContactFragment : Fragment() {
} }
binding.informationContactNavigationRowPhone.navigationRow.setOnClickListener { binding.informationContactNavigationRowPhone.navigationRow.setOnClickListener {
val number = getString(R.string.information_contact_phone_call_number) val number = getString(R.string.information_contact_phone_call_number)
CallHelper.call(this, "tel:$number") ExternalActionHelper.call(this, number)
} }
} }
} }
...@@ -11,7 +11,7 @@ import de.rki.coronawarnapp.R ...@@ -11,7 +11,7 @@ import de.rki.coronawarnapp.R
import de.rki.coronawarnapp.databinding.FragmentInformationBinding import de.rki.coronawarnapp.databinding.FragmentInformationBinding
import de.rki.coronawarnapp.ui.doNavigate import de.rki.coronawarnapp.ui.doNavigate
import de.rki.coronawarnapp.ui.main.MainActivity import de.rki.coronawarnapp.ui.main.MainActivity
import de.rki.coronawarnapp.util.OpenUrlHelper import de.rki.coronawarnapp.util.ExternalActionHelper
/** /**
* Basic Fragment which links to static and web content. * Basic Fragment which links to static and web content.
...@@ -75,7 +75,7 @@ class InformationFragment : Fragment() { ...@@ -75,7 +75,7 @@ class InformationFragment : Fragment() {
) )
} }
binding.informationHelp.mainRow.setOnClickListener { binding.informationHelp.mainRow.setOnClickListener {
OpenUrlHelper.navigate(this, requireContext().getString(R.string.main_about_link)) ExternalActionHelper.openUrl(this, requireContext().getString(R.string.main_about_link))
} }
binding.informationLegal.mainRow.setOnClickListener { binding.informationLegal.mainRow.setOnClickListener {
findNavController().doNavigate( findNavController().doNavigate(
......
...@@ -19,7 +19,7 @@ import de.rki.coronawarnapp.ui.doNavigate ...@@ -19,7 +19,7 @@ import de.rki.coronawarnapp.ui.doNavigate
import de.rki.coronawarnapp.ui.viewmodel.SettingsViewModel import de.rki.coronawarnapp.ui.viewmodel.SettingsViewModel
import de.rki.coronawarnapp.ui.viewmodel.SubmissionViewModel import de.rki.coronawarnapp.ui.viewmodel.SubmissionViewModel
import de.rki.coronawarnapp.ui.viewmodel.TracingViewModel import de.rki.coronawarnapp.ui.viewmodel.TracingViewModel
import de.rki.coronawarnapp.util.OpenUrlHelper import de.rki.coronawarnapp.util.ExternalActionHelper
import timber.log.Timber import timber.log.Timber
/** /**
...@@ -134,7 +134,7 @@ class MainFragment : Fragment() { ...@@ -134,7 +134,7 @@ class MainFragment : Fragment() {
findNavController().doNavigate(MainFragmentDirections.actionMainFragmentToSettingsTracingFragment()) findNavController().doNavigate(MainFragmentDirections.actionMainFragmentToSettingsTracingFragment())
} }
binding.mainAbout.mainCard.setOnClickListener { binding.mainAbout.mainCard.setOnClickListener {
OpenUrlHelper.navigate(this, requireContext().getString(R.string.main_about_link)) ExternalActionHelper.openUrl(this, requireContext().getString(R.string.main_about_link))
} }
binding.mainHeaderShare.buttonIcon.setOnClickListener { binding.mainHeaderShare.buttonIcon.setOnClickListener {
findNavController().doNavigate(MainFragmentDirections.actionMainFragmentToMainSharingFragment()) findNavController().doNavigate(MainFragmentDirections.actionMainFragmentToMainSharingFragment())
......
...@@ -9,7 +9,7 @@ import androidx.fragment.app.activityViewModels ...@@ -9,7 +9,7 @@ import androidx.fragment.app.activityViewModels
import de.rki.coronawarnapp.R import de.rki.coronawarnapp.R
import de.rki.coronawarnapp.databinding.FragmentMainShareBinding import de.rki.coronawarnapp.databinding.FragmentMainShareBinding
import de.rki.coronawarnapp.ui.viewmodel.TracingViewModel import de.rki.coronawarnapp.ui.viewmodel.TracingViewModel
import de.rki.coronawarnapp.util.ShareHelper import de.rki.coronawarnapp.util.ExternalActionHelper
/** /**
* This fragment informs the user about what he is going to share and how he is going to help everybody with this :) * This fragment informs the user about what he is going to share and how he is going to help everybody with this :)
...@@ -49,7 +49,7 @@ class MainShareFragment : Fragment() { ...@@ -49,7 +49,7 @@ class MainShareFragment : Fragment() {
private fun setButtonOnClickListener() { private fun setButtonOnClickListener() {
binding.mainShareButton.setOnClickListener { binding.mainShareButton.setOnClickListener {
ShareHelper.shareText(this, getString(R.string.main_share_message), null) ExternalActionHelper.shareText(this, getString(R.string.main_share_message), null)
} }
binding.mainShareHeader.headerButtonBack.buttonIcon.setOnClickListener { binding.mainShareHeader.headerButtonBack.buttonIcon.setOnClickListener {
(activity as MainActivity).goBack() (activity as MainActivity).goBack()
......
...@@ -98,7 +98,7 @@ class OnboardingTracingFragment : Fragment(), ...@@ -98,7 +98,7 @@ class OnboardingTracingFragment : Fragment(),
} }
override fun onFailure(exception: Exception?) { override fun onFailure(exception: Exception?) {
navigate() // dialog closed, user has to explicitly allow or deny the tracing permission
} }
private fun showCancelDialog() { private fun showCancelDialog() {
......
...@@ -10,7 +10,7 @@ import de.rki.coronawarnapp.databinding.FragmentSettingsNotificationsBinding ...@@ -10,7 +10,7 @@ import de.rki.coronawarnapp.databinding.FragmentSettingsNotificationsBinding
import de.rki.coronawarnapp.ui.main.MainActivity import de.rki.coronawarnapp.ui.main.MainActivity
import de.rki.coronawarnapp.ui.viewmodel.SettingsViewModel import de.rki.coronawarnapp.ui.viewmodel.SettingsViewModel
import de.rki.coronawarnapp.ui.viewmodel.TracingViewModel import de.rki.coronawarnapp.ui.viewmodel.TracingViewModel
import de.rki.coronawarnapp.util.SettingsNavigationHelper import de.rki.coronawarnapp.util.ExternalActionHelper
/** /**
* This is the setting notification page. Here the user sees his os notifications settings status. * This is the setting notification page. Here the user sees his os notifications settings status.
...@@ -88,7 +88,7 @@ class SettingsNotificationFragment : Fragment() { ...@@ -88,7 +88,7 @@ class SettingsNotificationFragment : Fragment() {
} }
// System Settings // System Settings
settingsRow.setOnClickListener { settingsRow.setOnClickListener {
SettingsNavigationHelper.toNotifications(requireContext()) ExternalActionHelper.toNotifications(requireContext())
} }
} }
} }
...@@ -21,7 +21,7 @@ import de.rki.coronawarnapp.ui.main.MainActivity ...@@ -21,7 +21,7 @@ import de.rki.coronawarnapp.ui.main.MainActivity
import de.rki.coronawarnapp.ui.viewmodel.SettingsViewModel import de.rki.coronawarnapp.ui.viewmodel.SettingsViewModel
import de.rki.coronawarnapp.ui.viewmodel.TracingViewModel import de.rki.coronawarnapp.ui.viewmodel.TracingViewModel
import de.rki.coronawarnapp.util.DialogHelper import de.rki.coronawarnapp.util.DialogHelper
import de.rki.coronawarnapp.util.SettingsNavigationHelper import de.rki.coronawarnapp.util.ExternalActionHelper
import de.rki.coronawarnapp.worker.BackgroundWorkScheduler import de.rki.coronawarnapp.worker.BackgroundWorkScheduler
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
...@@ -115,10 +115,10 @@ class SettingsTracingFragment : Fragment(), ...@@ -115,10 +115,10 @@ class SettingsTracingFragment : Fragment(),
(activity as MainActivity).goBack() (activity as MainActivity).goBack()
} }
binding.settingsTracingStatusBluetooth.tracingStatusCardButton.setOnClickListener { binding.settingsTracingStatusBluetooth.tracingStatusCardButton.setOnClickListener {
SettingsNavigationHelper.toConnections(requireContext()) ExternalActionHelper.toMainSettings(requireContext())
} }
binding.settingsTracingStatusConnection.tracingStatusCardButton.setOnClickListener { binding.settingsTracingStatusConnection.tracingStatusCardButton.setOnClickListener {
SettingsNavigationHelper.toConnections(requireContext()) ExternalActionHelper.toConnections(requireContext())
} }
} }
......
...@@ -11,7 +11,7 @@ import de.rki.coronawarnapp.R ...@@ -11,7 +11,7 @@ import de.rki.coronawarnapp.R
import de.rki.coronawarnapp.databinding.FragmentSubmissionContactBinding import de.rki.coronawarnapp.databinding.FragmentSubmissionContactBinding
import de.rki.coronawarnapp.ui.doNavigate import de.rki.coronawarnapp.ui.doNavigate
import de.rki.coronawarnapp.ui.main.MainActivity import de.rki.coronawarnapp.ui.main.MainActivity
import de.rki.coronawarnapp.util.CallHelper import de.rki.coronawarnapp.util.ExternalActionHelper
/** /**
* The [SubmissionContactFragment] allows requesting a teletan via phone * The [SubmissionContactFragment] allows requesting a teletan via phone
...@@ -67,6 +67,6 @@ class SubmissionContactFragment : Fragment() { ...@@ -67,6 +67,6 @@ class SubmissionContactFragment : Fragment() {
private fun dial() = context?.let { private fun dial() = context?.let {
val number = getString(R.string.submission_contact_number_dial) val number = getString(R.string.submission_contact_number_dial)
CallHelper.call(this, "tel:$number") ExternalActionHelper.call(this, number)
} }
} }
package de.rki.coronawarnapp.util
import android.content.Intent
import android.net.Uri
import androidx.fragment.app.Fragment
/**
* Helper object for intents triggering a phone call
* todo unify once necessary intents are final with share, external url and others
*/
object CallHelper {
fun call(fragment: Fragment, uri: String) {
fragment.startActivity(
Intent(
Intent.ACTION_DIAL,
Uri.parse(uri)
)
)
}
}
package de.rki.coronawarnapp.util
import android.content.Context
import android.content.Intent
import android.net.Uri
import android.os.Build
import android.provider.Settings
import androidx.fragment.app.Fragment
import de.rki.coronawarnapp.exception.ExceptionCategory
import de.rki.coronawarnapp.exception.ExternalActionException
import de.rki.coronawarnapp.exception.reporting.report
/**
* Helper object for external actions
*
*/
object ExternalActionHelper {
private val TAG: String? = ExternalActionHelper::class.simpleName
/**
* Opens the share default overlay to provide the Corona-Warn-App installation link
*
* @param fragment
* @param text
* @param title
*/
fun shareText(fragment: Fragment, text: String, title: String?) {
try {
fragment.startActivity(Intent.createChooser(Intent().apply {
action = Intent.ACTION_SEND
type = "text/plain"
putExtra(Intent.EXTRA_TEXT, text)
}, title))
} catch (exception: Exception) {
// catch generic exception on share
// possibly due to bad share content format
ExternalActionException(exception).report(
ExceptionCategory.UI
)
}
}
/**
* Opens the client default phone app and inserts a given number
*
* @param fragment
* @param uri
*/
fun call(fragment: Fragment, uri: String) {
try {
fragment.startActivity(
Intent(
Intent.ACTION_DIAL,
Uri.parse("tel:$uri")
)
)
} catch (exception: Exception) {
// catch generic exception on call
// possibly due to bad number format
ExternalActionException(exception).report(
ExceptionCategory.UI
)
}
}
/**
* Opens a given url in the client default browser
*
* @param fragment
* @param url
*/
fun openUrl(fragment: Fragment, url: String) {
try {
fragment.startActivity(
Intent(
Intent.ACTION_VIEW,
Uri.parse(url)
)
)
} catch (exception: Exception) {
// catch generic exception on url navigation
// most likely due to bad url format
// or less likely no browser installed
ExternalActionException(exception).report(
ExceptionCategory.UI
)
}
}
/**
* Navigate the user to the os connection settings.
*
* @param context
*/
fun toConnections(context: Context) {
try {
val intent = Intent(Settings.ACTION_WIRELESS_SETTINGS)
context.startActivity(intent)
} catch (exception: Exception) {
// catch generic exception on settings navigation
// most likely due to device / rom specific intent issue
ExternalActionException(exception).report(
ExceptionCategory.UI
)
}
}
/**
* Navigate the user to the os notification settings.
*
* @param context
*/
// todo has to be tested on API23 on a device
fun toNotifications(context: Context) {
try {
val intent = Intent()
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
intent.action = Settings.ACTION_APP_NOTIFICATION_SETTINGS
intent.putExtra(
Settings.EXTRA_APP_PACKAGE,
context.packageName
)
} else {
intent.putExtra(
"app_package",
context.packageName
)
intent.putExtra("app_uid", context.applicationInfo.uid)
}
context.startActivity(intent)
} catch (exception: Exception) {
// catch generic exception on settings navigation
// most likely due to device / rom specific intent issue
ExternalActionException(exception).report(
ExceptionCategory.UI
)
}
}
/**
* Navigate the user to the os settings as navigation to
* bluetooth settings directly is not reliable for all devices
*
* @param context
*/
fun toMainSettings(context: Context) {
try {
val intent = Intent(Settings.ACTION_SETTINGS)
context.startActivity(intent)
} catch (exception: Exception) {
// catch generic exception on settings navigation
// most likely due to device / rom specific intent issue
ExternalActionException(exception).report(
ExceptionCategory.UI
)
}
}
// todo navigate storage settings
}
package de.rki.coronawarnapp.util
import android.content.Intent
import android.net.Uri
import androidx.fragment.app.Fragment
object OpenUrlHelper {
fun navigate(fragment: Fragment, url: String) {
fragment.startActivity(
Intent(
Intent.ACTION_VIEW,
Uri.parse(url)
)
)
}
}
package de.rki.coronawarnapp.util
import android.content.Context
import android.content.Intent
import android.os.Build
import android.provider.Settings
/**
* A helper to navigate to the os settings, used in different places in the application,
* e.g. settings, notification settings, tracing settings...
*/
object SettingsNavigationHelper {
/**
* Navigate the user to the os connection settings.
*
* @param context
*/
fun toConnections(context: Context) {
val intent = Intent(Settings.ACTION_WIRELESS_SETTINGS)
context.startActivity(intent)
}
/**
* Navigate the user to the os notification settings.
*
* @param context
*/
// todo has to be tested on API23 on a device
fun toNotifications(context: Context) {
val intent = Intent()
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
intent.action = Settings.ACTION_APP_NOTIFICATION_SETTINGS
intent.putExtra(
Settings.EXTRA_APP_PACKAGE,
context.packageName
)
} else {
intent.putExtra(
"app_package",
context.packageName
)
intent.putExtra("app_uid", context.applicationInfo.uid)
}
context.startActivity(intent)
}
// todo navigate storage settings
}
package de.rki.coronawarnapp.util
import android.content.Intent
import androidx.fragment.app.Fragment
object ShareHelper {
fun shareText(fragment: Fragment, text: String, title: String?) {
fragment.startActivity(Intent.createChooser(Intent().apply {
action = Intent.ACTION_SEND
type = "text/plain"
putExtra(Intent.EXTRA_TEXT, text)
}, title))
}
}
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="361dp" android:width="360dp"
android:height="220dp" android:height="221dp"
android:viewportWidth="361" android:viewportWidth="360"
android:viewportHeight="220"> android:viewportHeight="221">
<group> <group>
<path <path
android:fillColor="#1E1E1F" android:pathData="M205.338,181.742L155.368,181.742C150.281,181.74 146.157,177.604 146.156,172.502L146.169,47.523C146.176,42.426 150.299,38.298 155.381,38.298L205.352,38.298C210.431,38.308 214.543,42.438 214.546,47.532L214.546,172.513C214.544,177.611 210.423,181.742 205.338,181.742Z"
android:fillType="nonZero" android:strokeWidth="1"
android:pathData="M205.338,180.759L155.368,180.759C150.281,180.757 146.157,176.621 146.156,171.519L146.169,46.54C146.176,41.443 150.299,37.315 155.381,37.315L205.352,37.315C210.431,37.325 214.543,41.455 214.546,46.549L214.546,171.53C214.544,176.628 210.423,180.759 205.338,180.759Z" android:fillColor="#000000"
android:strokeWidth="1" android:fillType="nonZero"
android:strokeColor="#00000000" /> android:strokeColor="#00000000"/>
<path <path
android:fillColor="#00000000" android:pathData="M205.338,181.742L155.368,181.742C150.281,181.74 146.157,177.604 146.156,172.502L146.169,47.523C146.176,42.426 150.299,38.298 155.381,38.298L205.352,38.298C210.431,38.308 214.543,42.438 214.546,47.532L214.546,172.513C214.544,177.611 210.423,181.742 205.338,181.742Z"
android:fillType="evenOdd" android:strokeWidth="3.567"
android:pathData="M205.338,180.759L155.368,180.759C150.281,180.757 146.157,176.621 146.156,171.519L146.169,46.54C146.176,41.443 150.299,37.315 155.381,37.315L205.352,37.315C210.431,37.325 214.543,41.455 214.546,46.549L214.546,171.53C214.544,176.628 210.423,180.759 205.338,180.759Z" android:fillColor="#00000000"
android:strokeWidth="3.567" android:strokeColor="#999999"
android:strokeColor="#4A4A4A" /> android:fillType="evenOdd"/>
<path <path
android:fillColor="#4A4A4A" android:pathData="M155.955,47.466L204.34,47.466A4,4 0,0 1,208.34 51.466L208.34,60.466A4,4 0,0 1,204.34 64.466L155.955,64.466A4,4 0,0 1,151.955 60.466L151.955,51.466A4,4 0,0 1,155.955 47.466z"
android:fillType="nonZero" android:strokeWidth="1"
android:pathData="M155.955,46.483L204.34,46.483A4,4 0,0 1,208.34 50.483L208.34,59.483A4,4 0,0 1,204.34 63.483L155.955,63.483A4,4 0,0 1,151.955 59.483L151.955,50.483A4,4 0,0 1,155.955 46.483z" android:fillColor="#595959"
android:strokeWidth="1" android:fillType="nonZero"
android:strokeColor="#00000000" /> android:strokeColor="#00000000"/>
<path <path
android:fillColor="#4A4A4A" android:pathData="M155.955,130.466L204.34,130.466A4,4 0,0 1,208.34 134.466L208.34,170.466A4,4 0,0 1,204.34 174.466L155.955,174.466A4,4 0,0 1,151.955 170.466L151.955,134.466A4,4 0,0 1,155.955 130.466z"
android:fillType="nonZero" android:strokeWidth="1"
android:pathData="M155.955,129.483L204.34,129.483A4,4 0,0 1,208.34 133.483L208.34,169.483A4,4 0,0 1,204.34 173.483L155.955,173.483A4,4 0,0 1,151.955 169.483L151.955,133.483A4,4 0,0 1,155.955 129.483z" android:fillColor="#595959"
android:strokeWidth="1" android:fillType="nonZero"
android:strokeColor="#00000000" /> android:strokeColor="#00000000"/>
<path <path
android:fillColor="#409CC8" android:pathData="M158.944,163.466L201.808,163.466A3,3 0,0 1,204.808 166.466L204.808,166.466A3,3 0,0 1,201.808 169.466L158.944,169.466A3,3 0,0 1,155.944 166.466L155.944,166.466A3,3 0,0 1,158.944 163.466z"
android:fillType="nonZero" android:strokeWidth="1"
android:pathData="M158.944,162.483L201.808,162.483A3,3 0,0 1,204.808 165.483L204.808,165.483A3,3 0,0 1,201.808 168.483L158.944,168.483A3,3 0,0 1,155.944 165.483L155.944,165.483A3,3 0,0 1,158.944 162.483z" android:fillColor="#83D2F2"
android:strokeWidth="1" android:fillType="nonZero"
android:strokeColor="#00000000" /> android:strokeColor="#00000000"/>
<path <path
android:fillColor="#6ACC8B" android:pathData="M155.955,74.466L204.34,74.466A4,4 0,0 1,208.34 78.466L208.34,116.466A4,4 0,0 1,204.34 120.466L155.955,120.466A4,4 0,0 1,151.955 116.466L151.955,78.466A4,4 0,0 1,155.955 74.466z"
android:fillType="nonZero" android:strokeWidth="1"
android:pathData="M155.955,73.483L204.34,73.483A4,4 0,0 1,208.34 77.483L208.34,115.483A4,4 0,0 1,204.34 119.483L155.955,119.483A4,4 0,0 1,151.955 115.483L151.955,77.483A4,4 0,0 1,155.955 73.483z" android:fillColor="#6ACC8B"
android:strokeWidth="1" android:fillType="nonZero"
android:strokeColor="#00000000" /> android:strokeColor="#00000000"/>
<path <path
android:fillColor="#3F3F43" android:pathData="M73.548,100.724a11.967,12 0,1 0,23.934 0a11.967,12 0,1 0,-23.934 0z"
android:fillType="nonZero" android:strokeWidth="1"
android:pathData="M73.548,99.741a11.967,12 0,1 0,23.934 0a11.967,12 0,1 0,-23.934 0z" android:fillColor="#595959"
android:strokeWidth="1" android:fillType="nonZero"
android:strokeColor="#00000000" /> android:strokeColor="#00000000"/>
<path <path
android:fillColor="#FFFFFF" android:pathData="M88.506,99.724C88.506,100.824 87.609,101.724 86.512,101.724L84.517,101.724L84.517,103.724L87.509,103.724C88.057,103.724 88.506,104.174 88.506,104.724C88.506,105.274 88.057,105.724 87.509,105.724L83.52,105.724C82.972,105.724 82.523,105.274 82.523,104.724L82.523,101.724C82.523,100.624 83.42,99.724 84.517,99.724L86.512,99.724L86.512,97.724L83.52,97.724C82.972,97.724 82.523,97.274 82.523,96.724C82.523,96.174 82.972,95.724 83.52,95.724L86.512,95.724C87.609,95.724 88.506,96.624 88.506,97.724L88.506,99.724Z"
android:fillType="nonZero" android:strokeWidth="1"
android:pathData="M88.506,98.741C88.506,99.841 87.609,100.741 86.512,100.741L84.517,100.741L84.517,102.741L87.509,102.741C88.057,102.741 88.506,103.191 88.506,103.741C88.506,104.291 88.057,104.741 87.509,104.741L83.52,104.741C82.972,104.741 82.523,104.291 82.523,103.741L82.523,100.741C82.523,99.641 83.42,98.741 84.517,98.741L86.512,98.741L86.512,96.741L83.52,96.741C82.972,96.741 82.523,96.291 82.523,95.741C82.523,95.191 82.972,94.741 83.52,94.741L86.512,94.741C87.609,94.741 88.506,95.641 88.506,96.741L88.506,98.741Z" android:fillColor="#FFFFFF"
android:strokeWidth="1" android:fillType="nonZero"
android:strokeColor="#00000000" /> android:strokeColor="#00000000"/>
<path <path
android:fillColor="#3F3F43" android:pathData="M73.548,55.983a11.967,12 0,1 0,23.934 0a11.967,12 0,1 0,-23.934 0z"
android:fillType="nonZero" android:strokeWidth="1"
android:pathData="M73.548,55a11.967,12 0,1 0,23.934 0a11.967,12 0,1 0,-23.934 0z" android:fillColor="#595959"
android:strokeWidth="1" android:fillType="nonZero"
android:strokeColor="#00000000" /> android:strokeColor="#00000000"/>
<path <path
android:fillColor="#FFFFFF" android:pathData="M86.512,60.983C85.963,60.983 85.515,60.533 85.515,59.983L85.515,52.983L84.517,52.983C83.969,52.983 83.52,52.533 83.52,51.983C83.52,51.433 83.969,50.983 84.517,50.983L86.512,50.983C87.06,50.983 87.509,51.433 87.509,51.983L87.509,59.983C87.509,60.533 87.06,60.983 86.512,60.983Z"
android:fillType="nonZero" android:strokeWidth="1"
android:pathData="M86.512,60C85.963,60 85.515,59.55 85.515,59L85.515,52L84.517,52C83.969,52 83.52,51.55 83.52,51C83.52,50.45 83.969,50 84.517,50L86.512,50C87.06,50 87.509,50.45 87.509,51L87.509,59C87.509,59.55 87.06,60 86.512,60Z" android:fillColor="#FFFFFF"
android:strokeWidth="1" android:fillType="nonZero"
android:strokeColor="#00000000" /> android:strokeColor="#00000000"/>
<path <path
android:fillColor="#3F3F43" android:pathData="M73.548,145.466a11.967,12 0,1 0,23.934 0a11.967,12 0,1 0,-23.934 0z"
android:fillType="nonZero" android:strokeWidth="1"
android:pathData="M73.548,144.483a11.967,12 0,1 0,23.934 0a11.967,12 0,1 0,-23.934 0z" android:fillColor="#595959"
android:strokeWidth="1" android:fillType="nonZero"
android:strokeColor="#00000000" /> android:strokeColor="#00000000"/>
<path <path
android:fillColor="#FFFFFF" android:pathData="M88.511,143.966C88.511,144.796 87.843,145.466 87.015,145.466C87.843,145.466 88.511,146.136 88.511,146.966L88.511,148.466C88.511,149.576 87.614,150.466 86.517,150.466L83.515,150.466C82.967,150.466 82.518,150.016 82.518,149.466C82.518,148.916 82.967,148.466 83.515,148.466L86.517,148.466L86.507,146.466L85.51,146.466C84.961,146.466 84.512,146.016 84.512,145.466C84.512,144.916 84.961,144.466 85.51,144.466L86.507,144.466L86.517,142.466L83.515,142.466C82.967,142.466 82.528,142.016 82.528,141.466C82.528,140.916 82.967,140.466 83.515,140.466L86.517,140.466C87.614,140.466 88.511,141.366 88.511,142.466L88.511,143.966Z"
android:fillType="nonZero" android:strokeWidth="1"
android:pathData="M88.511,142.983C88.511,143.813 87.843,144.483 87.015,144.483C87.843,144.483 88.511,145.153 88.511,145.983L88.511,147.483C88.511,148.593 87.614,149.483 86.517,149.483L83.515,149.483C82.967,149.483 82.518,149.033 82.518,148.483C82.518,147.933 82.967,147.483 83.515,147.483L86.517,147.483L86.507,145.483L85.51,145.483C84.961,145.483 84.512,145.033 84.512,144.483C84.512,143.933 84.961,143.483 85.51,143.483L86.507,143.483L86.517,141.483L83.515,141.483C82.967,141.483 82.528,141.033 82.528,140.483C82.528,139.933 82.967,139.483 83.515,139.483L86.517,139.483C87.614,139.483 88.511,140.383 88.511,141.483L88.511,142.983Z" android:fillColor="#FFFFFF"
android:strokeWidth="1" android:fillType="nonZero"
android:strokeColor="#00000000" /> android:strokeColor="#00000000"/>
<path <path
android:fillColor="#00000000" android:pathData="M105.958,145.466L137.869,145.466"
android:fillType="evenOdd" android:strokeWidth="1"
android:pathData="M105.958,144.483L137.869,144.483" android:fillColor="#00000000"
android:strokeWidth="1" android:strokeColor="#999999"
android:strokeColor="#3F3F43" android:fillType="evenOdd"
android:strokeLineCap="square" /> android:strokeLineCap="square"/>
<path <path
android:fillColor="#00000000" android:pathData="M105.958,55.983L137.869,55.983"
android:fillType="evenOdd" android:strokeWidth="1"
android:pathData="M105.958,55L137.869,55" android:fillColor="#00000000"
android:strokeWidth="1" android:strokeColor="#999999"
android:strokeColor="#3F3F43" android:fillType="evenOdd"
android:strokeLineCap="square" /> android:strokeLineCap="square"/>
<path <path
android:fillColor="#00000000" android:pathData="M105.958,100.724L137.869,100.724"
android:fillType="evenOdd" android:strokeWidth="1"
android:pathData="M105.958,99.741L137.869,99.741" android:fillColor="#00000000"
android:strokeWidth="1" android:strokeColor="#999999"
android:strokeColor="#3F3F43" android:fillType="evenOdd"
android:strokeLineCap="square" /> android:strokeLineCap="square"/>
</group> </group>
</vector> </vector>
...@@ -3,16 +3,16 @@ ...@@ -3,16 +3,16 @@
android:height="42dp" android:height="42dp"
android:viewportWidth="40" android:viewportWidth="40"
android:viewportHeight="42"> android:viewportHeight="42">
<path <path
android:fillColor="#3F3F43" android:pathData="M20,21m-12,0a12,12 0,1 1,24 0a12,12 0,1 1,-24 0"
android:fillType="evenOdd" android:strokeWidth="1"
android:pathData="M20,21m-12,0a12,12 0,1 1,24 0a12,12 0,1 1,-24 0" android:fillColor="#595959"
android:strokeWidth="1" android:fillType="evenOdd"
android:strokeColor="#00000000" /> android:strokeColor="#00000000"/>
<path <path
android:fillColor="#FFFFFF" android:pathData="M21,26C20.45,26 20,25.55 20,25L20,18L19,18C18.45,18 18,17.55 18,17C18,16.45 18.45,16 19,16L21,16C21.55,16 22,16.45 22,17L22,25C22,25.55 21.55,26 21,26Z"
android:fillType="nonZero" android:strokeWidth="1"
android:pathData="M21,26C20.45,26 20,25.55 20,25L20,18L19,18C18.45,18 18,17.55 18,17C18,16.45 18.45,16 19,16L21,16C21.55,16 22,16.45 22,17L22,25C22,25.55 21.55,26 21,26Z" android:fillColor="#FFFFFF"
android:strokeWidth="1" android:fillType="nonZero"
android:strokeColor="#00000000" /> android:strokeColor="#00000000"/>
</vector> </vector>
...@@ -3,16 +3,16 @@ ...@@ -3,16 +3,16 @@
android:height="41dp" android:height="41dp"
android:viewportWidth="40" android:viewportWidth="40"
android:viewportHeight="41"> android:viewportHeight="41">
<path <path
android:fillColor="#3F3F43" android:pathData="M20,20.983m-12,0a12,12 0,1 1,24 0a12,12 0,1 1,-24 0"
android:fillType="evenOdd" android:strokeWidth="1"
android:pathData="M20,20.983m-12,0a12,12 0,1 1,24 0a12,12 0,1 1,-24 0" android:fillColor="#595959"
android:strokeWidth="1" android:fillType="evenOdd"
android:strokeColor="#00000000" /> android:strokeColor="#00000000"/>
<path <path
android:fillColor="#FFFFFF" android:pathData="M23,19.983C23,21.083 22.1,21.983 21,21.983L19,21.983L19,23.983L22,23.983C22.55,23.983 23,24.433 23,24.983C23,25.533 22.55,25.983 22,25.983L18,25.983C17.45,25.983 17,25.533 17,24.983L17,21.983C17,20.883 17.9,19.983 19,19.983L21,19.983L21,17.983L18,17.983C17.45,17.983 17,17.533 17,16.983C17,16.433 17.45,15.983 18,15.983L21,15.983C22.1,15.983 23,16.883 23,17.983L23,19.983Z"
android:fillType="nonZero" android:strokeWidth="1"
android:pathData="M23,19.983C23,21.083 22.1,21.983 21,21.983L19,21.983L19,23.983L22,23.983C22.55,23.983 23,24.433 23,24.983C23,25.533 22.55,25.983 22,25.983L18,25.983C17.45,25.983 17,25.533 17,24.983L17,21.983C17,20.883 17.9,19.983 19,19.983L21,19.983L21,17.983L18,17.983C17.45,17.983 17,17.533 17,16.983C17,16.433 17.45,15.983 18,15.983L21,15.983C22.1,15.983 23,16.883 23,17.983L23,19.983Z" android:fillColor="#FFFFFF"
android:strokeWidth="1" android:fillType="nonZero"
android:strokeColor="#00000000" /> android:strokeColor="#00000000"/>
</vector> </vector>
...@@ -3,16 +3,16 @@ ...@@ -3,16 +3,16 @@
android:height="42dp" android:height="42dp"
android:viewportWidth="40" android:viewportWidth="40"
android:viewportHeight="42"> android:viewportHeight="42">
<path <path
android:fillColor="#3F3F43" android:pathData="M20,21m-12,0a12,12 0,1 1,24 0a12,12 0,1 1,-24 0"
android:fillType="evenOdd" android:strokeWidth="1"
android:pathData="M20,21m-12,0a12,12 0,1 1,24 0a12,12 0,1 1,-24 0" android:fillColor="#595959"
android:strokeWidth="1" android:fillType="evenOdd"
android:strokeColor="#00000000" /> android:strokeColor="#00000000"/>
<path <path
android:fillColor="#FFFFFF" android:pathData="M23.005,19.5C23.005,20.33 22.335,21 21.505,21C22.335,21 23.005,21.67 23.005,22.5L23.005,24C23.005,25.11 22.105,26 21.005,26L17.995,26C17.445,26 16.995,25.55 16.995,25C16.995,24.45 17.445,24 17.995,24L21.005,24L20.995,22L19.995,22C19.445,22 18.995,21.55 18.995,21C18.995,20.45 19.445,20 19.995,20L20.995,20L21.005,18L17.995,18C17.445,18 17.005,17.55 17.005,17C17.005,16.45 17.445,16 17.995,16L21.005,16C22.105,16 23.005,16.9 23.005,18L23.005,19.5Z"
android:fillType="nonZero" android:strokeWidth="1"
android:pathData="M23.005,19.5C23.005,20.33 22.335,21 21.505,21C22.335,21 23.005,21.67 23.005,22.5L23.005,24C23.005,25.11 22.105,26 21.005,26L17.995,26C17.445,26 16.995,25.55 16.995,25C16.995,24.45 17.445,24 17.995,24L21.005,24L20.995,22L19.995,22C19.445,22 18.995,21.55 18.995,21C18.995,20.45 19.445,20 19.995,20L20.995,20L21.005,18L17.995,18C17.445,18 17.005,17.55 17.005,17C17.005,16.45 17.445,16 17.995,16L21.005,16C22.105,16 23.005,16.9 23.005,18L23.005,19.5Z" android:fillColor="#FFFFFF"
android:strokeWidth="1" android:fillType="nonZero"
android:strokeColor="#00000000" /> android:strokeColor="#00000000"/>
</vector> </vector>
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="361dp" android:width="360dp"
android:height="220dp" android:height="221dp"
android:viewportWidth="361" android:viewportWidth="360"
android:viewportHeight="220"> android:viewportHeight="221">
<group> <group>
<clip-path android:pathData="M0.125,0h360v220h-360z" /> <clip-path
<path android:pathData="M0.25,0.983h359.75v220h-359.75z"/>
android:fillColor="#FFFFFF" <path
android:fillType="evenOdd" android:pathData="M195.849,96.341L197.849,96.341L195.849,96.341Z"
android:pathData="M205.156,180.759L155.048,180.759C149.946,180.757 145.811,176.621 145.81,171.519L145.823,46.54C145.83,41.443 149.964,37.315 155.061,37.315L205.17,37.315C210.263,37.325 214.387,41.455 214.39,46.549L214.39,171.53C214.388,176.628 210.255,180.759 205.156,180.759Z" android:strokeWidth="1"
android:strokeWidth="1" android:fillColor="#FF395A"
android:strokeColor="#00000000" /> android:fillType="evenOdd"
<path android:strokeColor="#00000000"/>
android:fillColor="#00000000" <path
android:fillType="evenOdd" android:pathData="M205.031,182.759L154.923,182.759C149.821,182.757 145.686,178.621 145.685,173.519L145.698,48.54C145.705,43.443 149.839,39.315 154.936,39.315L205.045,39.315C210.138,39.325 214.262,43.455 214.265,48.549L214.265,173.53C214.263,178.628 210.13,182.759 205.031,182.759Z"
android:pathData="M205.156,180.759L155.048,180.759C149.946,180.757 145.811,176.621 145.81,171.519L145.823,46.54C145.83,41.443 149.964,37.315 155.061,37.315L205.17,37.315C210.263,37.325 214.387,41.455 214.39,46.549L214.39,171.53C214.388,176.628 210.255,180.759 205.156,180.759Z" android:strokeWidth="1"
android:strokeWidth="3.567" android:fillColor="#FFFFFF"
android:strokeColor="#4A4A4A" /> android:fillType="evenOdd"
<path android:strokeColor="#00000000"/>
android:fillColor="#E7E7E7" <path
android:fillType="evenOdd" android:pathData="M205.031,182.759L154.923,182.759C149.821,182.757 145.686,178.621 145.685,173.519L145.698,48.54C145.705,43.443 149.839,39.315 154.936,39.315L205.045,39.315C210.138,39.325 214.262,43.455 214.265,48.549L214.265,173.53C214.263,178.628 210.13,182.759 205.031,182.759Z"
android:pathData="M155.625,46.483L204.167,46.483A4,4 0,0 1,208.167 50.483L208.167,59.483A4,4 0,0 1,204.167 63.483L155.625,63.483A4,4 0,0 1,151.625 59.483L151.625,50.483A4,4 0,0 1,155.625 46.483z" android:strokeWidth="3.567"
android:strokeWidth="1" android:fillColor="#00000000"
android:strokeColor="#00000000" /> android:strokeColor="#4A4A4A"
<path android:fillType="evenOdd"/>
android:fillColor="#E7E7E7" <path
android:fillType="evenOdd" android:pathData="M155.5,48.483L204.042,48.483A4,4 0,0 1,208.042 52.483L208.042,61.483A4,4 0,0 1,204.042 65.483L155.5,65.483A4,4 0,0 1,151.5 61.483L151.5,52.483A4,4 0,0 1,155.5 48.483z"
android:pathData="M155.625,129.483L204.167,129.483A4,4 0,0 1,208.167 133.483L208.167,169.483A4,4 0,0 1,204.167 173.483L155.625,173.483A4,4 0,0 1,151.625 169.483L151.625,133.483A4,4 0,0 1,155.625 129.483z" android:strokeWidth="1"
android:strokeWidth="1" android:fillColor="#E7E7E7"
android:strokeColor="#00000000" /> android:fillType="evenOdd"
<path android:strokeColor="#00000000"/>
android:fillColor="#0088B2" <path
android:fillType="evenOdd" android:pathData="M155.5,131.483L204.042,131.483A4,4 0,0 1,208.042 135.483L208.042,171.483A4,4 0,0 1,204.042 175.483L155.5,175.483A4,4 0,0 1,151.5 171.483L151.5,135.483A4,4 0,0 1,155.5 131.483z"
android:pathData="M158.625,162.483L201.625,162.483A3,3 0,0 1,204.625 165.483L204.625,165.483A3,3 0,0 1,201.625 168.483L158.625,168.483A3,3 0,0 1,155.625 165.483L155.625,165.483A3,3 0,0 1,158.625 162.483z" android:strokeWidth="1"
android:strokeWidth="1" android:fillColor="#E7E7E7"
android:strokeColor="#00000000" /> android:fillType="evenOdd"
<path android:strokeColor="#00000000"/>
android:fillColor="#2E854B" <path
android:fillType="evenOdd" android:pathData="M158.5,164.483L201.5,164.483A3,3 0,0 1,204.5 167.483L204.5,167.483A3,3 0,0 1,201.5 170.483L158.5,170.483A3,3 0,0 1,155.5 167.483L155.5,167.483A3,3 0,0 1,158.5 164.483z"
android:pathData="M155.625,73.483L204.167,73.483A4,4 0,0 1,208.167 77.483L208.167,115.483A4,4 0,0 1,204.167 119.483L155.625,119.483A4,4 0,0 1,151.625 115.483L151.625,77.483A4,4 0,0 1,155.625 73.483z" android:strokeWidth="1"
android:strokeWidth="1" android:fillColor="#0088B2"
android:strokeColor="#00000000" /> android:fillType="evenOdd"
<path android:strokeColor="#00000000"/>
android:fillColor="#E9F6FF" <path
android:fillType="evenOdd" android:pathData="M155.5,75.483L204.042,75.483A4,4 0,0 1,208.042 79.483L208.042,117.483A4,4 0,0 1,204.042 121.483L155.5,121.483A4,4 0,0 1,151.5 117.483L151.5,79.483A4,4 0,0 1,155.5 75.483z"
android:pathData="M85,99.741m-12,0a12,12 0,1 1,24 0a12,12 0,1 1,-24 0" android:strokeWidth="1"
android:strokeWidth="1" android:fillColor="#2E854B"
android:strokeColor="#00000000" /> android:fillType="evenOdd"
<path android:strokeColor="#00000000"/>
android:fillColor="#17191A" </group>
android:fillType="nonZero" <group>
android:pathData="M88,98.741C88,99.841 87.1,100.741 86,100.741L84,100.741L84,102.741L87,102.741C87.55,102.741 88,103.191 88,103.741C88,104.291 87.55,104.741 87,104.741L83,104.741C82.45,104.741 82,104.291 82,103.741L82,100.741C82,99.641 82.9,98.741 84,98.741L86,98.741L86,96.741L83,96.741C82.45,96.741 82,96.291 82,95.741C82,95.191 82.45,94.741 83,94.741L86,94.741C87.1,94.741 88,95.641 88,96.741L88,98.741Z" <clip-path
android:strokeWidth="1" android:pathData="M0.25,0.983h359.75v220h-359.75z"/>
android:strokeColor="#00000000" /> <path
<path android:pathData="M85,101.741m-12,0a12,12 0,1 1,24 0a12,12 0,1 1,-24 0"
android:fillColor="#E9F6FF" android:strokeWidth="1"
android:fillType="evenOdd" android:fillColor="#E9F6FF"
android:pathData="M85,55m-12,0a12,12 0,1 1,24 0a12,12 0,1 1,-24 0" android:fillType="evenOdd"
android:strokeWidth="1" android:strokeColor="#00000000"/>
android:strokeColor="#00000000" /> <path
<path android:pathData="M88,100.741C88,101.841 87.1,102.741 86,102.741L84,102.741L84,104.741L87,104.741C87.55,104.741 88,105.191 88,105.741C88,106.291 87.55,106.741 87,106.741L83,106.741C82.45,106.741 82,106.291 82,105.741L82,102.741C82,101.641 82.9,100.741 84,100.741L86,100.741L86,98.741L83,98.741C82.45,98.741 82,98.291 82,97.741C82,97.191 82.45,96.741 83,96.741L86,96.741C87.1,96.741 88,97.641 88,98.741L88,100.741Z"
android:fillColor="#17191A" android:strokeWidth="1"
android:fillType="nonZero" android:fillColor="#17191A"
android:pathData="M86,60C85.45,60 85,59.55 85,59L85,52L84,52C83.45,52 83,51.55 83,51C83,50.45 83.45,50 84,50L86,50C86.55,50 87,50.45 87,51L87,59C87,59.55 86.55,60 86,60Z" android:fillType="nonZero"
android:strokeWidth="1" android:strokeColor="#00000000"/>
android:strokeColor="#00000000" /> <path
<path android:pathData="M85,57m-12,0a12,12 0,1 1,24 0a12,12 0,1 1,-24 0"
android:fillColor="#E9F6FF" android:strokeWidth="1"
android:fillType="evenOdd" android:fillColor="#E9F6FF"
android:pathData="M85,144.483m-12,0a12,12 0,1 1,24 0a12,12 0,1 1,-24 0" android:fillType="evenOdd"
android:strokeWidth="1" android:strokeColor="#00000000"/>
android:strokeColor="#00000000" /> <path
<path android:pathData="M86,62C85.45,62 85,61.55 85,61L85,54L84,54C83.45,54 83,53.55 83,53C83,52.45 83.45,52 84,52L86,52C86.55,52 87,52.45 87,53L87,61C87,61.55 86.55,62 86,62Z"
android:fillColor="#17191A" android:strokeWidth="1"
android:fillType="nonZero" android:fillColor="#17191A"
android:pathData="M88.005,142.983C88.005,143.813 87.335,144.483 86.505,144.483C87.335,144.483 88.005,145.153 88.005,145.983L88.005,147.483C88.005,148.593 87.105,149.483 86.005,149.483L82.995,149.483C82.445,149.483 81.995,149.033 81.995,148.483C81.995,147.933 82.445,147.483 82.995,147.483L86.005,147.483L85.995,145.483L84.995,145.483C84.445,145.483 83.995,145.033 83.995,144.483C83.995,143.933 84.445,143.483 84.995,143.483L85.995,143.483L86.005,141.483L82.995,141.483C82.445,141.483 82.005,141.033 82.005,140.483C82.005,139.933 82.445,139.483 82.995,139.483L86.005,139.483C87.105,139.483 88.005,140.383 88.005,141.483L88.005,142.983Z" android:fillType="nonZero"
android:strokeWidth="1" android:strokeColor="#00000000"/>
android:strokeColor="#00000000" /> <path
<path android:pathData="M85,146.483m-12,0a12,12 0,1 1,24 0a12,12 0,1 1,-24 0"
android:fillColor="#00000000" android:strokeWidth="1"
android:fillType="evenOdd" android:fillColor="#E9F6FF"
android:pathData="M105.5,144.483L137.5,144.483" android:fillType="evenOdd"
android:strokeWidth="1" android:strokeColor="#00000000"/>
android:strokeAlpha="0.2" <path
android:strokeColor="#17191A" android:pathData="M88.005,144.983C88.005,145.813 87.335,146.483 86.505,146.483C87.335,146.483 88.005,147.153 88.005,147.983L88.005,149.483C88.005,150.593 87.105,151.483 86.005,151.483L82.995,151.483C82.445,151.483 81.995,151.033 81.995,150.483C81.995,149.933 82.445,149.483 82.995,149.483L86.005,149.483L85.995,147.483L84.995,147.483C84.445,147.483 83.995,147.033 83.995,146.483C83.995,145.933 84.445,145.483 84.995,145.483L85.995,145.483L86.005,143.483L82.995,143.483C82.445,143.483 82.005,143.033 82.005,142.483C82.005,141.933 82.445,141.483 82.995,141.483L86.005,141.483C87.105,141.483 88.005,142.383 88.005,143.483L88.005,144.983Z"
android:strokeLineCap="square" /> android:strokeWidth="1"
<path android:fillColor="#17191A"
android:fillColor="#00000000" android:fillType="nonZero"
android:fillType="evenOdd" android:strokeColor="#00000000"/>
android:pathData="M105.5,55L137.5,55" <path
android:strokeWidth="1" android:pathData="M105.5,146.483L137.5,146.483"
android:strokeAlpha="0.2" android:strokeWidth="1"
android:strokeColor="#17191A" android:fillColor="#00000000"
android:strokeLineCap="square" /> android:strokeColor="#17191A"
<path android:fillType="evenOdd"
android:fillColor="#00000000" android:strokeLineCap="square"/>
android:fillType="evenOdd" <path
android:pathData="M105.5,99.741L137.5,99.741" android:pathData="M105.5,57L137.5,57"
android:strokeWidth="1" android:strokeWidth="1"
android:strokeAlpha="0.2" android:fillColor="#00000000"
android:strokeColor="#17191A" android:strokeColor="#17191A"
android:strokeLineCap="square" /> android:fillType="evenOdd"
</group> android:strokeLineCap="square"/>
<path
android:pathData="M105.5,101.741L137.5,101.741"
android:strokeWidth="1"
android:fillColor="#00000000"
android:strokeColor="#17191A"
android:fillType="evenOdd"
android:strokeLineCap="square"/>
</group>
</vector> </vector>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment