Merge pull request #1691 from vector-im/rebranding

Rebranding!
This commit is contained in:
Benoit Marty 2020-07-15 14:13:11 +02:00 committed by GitHub
commit a06484c260
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
245 changed files with 2139 additions and 2427 deletions

View file

@ -20,6 +20,7 @@ interface LegacySessionImporter {
/** /**
* Will eventually import a session created by the legacy app. * Will eventually import a session created by the legacy app.
* @return true if a session has been imported
*/ */
fun process() fun process(): Boolean
} }

View file

@ -53,14 +53,14 @@ internal class DefaultLegacySessionImporter @Inject constructor(
private var DELETE_PREVIOUS_DATA = true private var DELETE_PREVIOUS_DATA = true
} }
override fun process() { override fun process(): Boolean {
Timber.d("Migration: Importing legacy session") Timber.d("Migration: Importing legacy session")
val list = loginStorage.credentialsList val list = loginStorage.credentialsList
Timber.d("Migration: found ${list.size} session(s).") Timber.d("Migration: found ${list.size} session(s).")
val legacyConfig = list.firstOrNull() ?: return val legacyConfig = list.firstOrNull() ?: return false
runBlocking { runBlocking {
Timber.d("Migration: importing a session") Timber.d("Migration: importing a session")
@ -97,6 +97,9 @@ internal class DefaultLegacySessionImporter @Inject constructor(
Timber.d("Migration: clear shared prefs - DEACTIVATED") Timber.d("Migration: clear shared prefs - DEACTIVATED")
} }
} }
// A session has been imported
return true
} }
private suspend fun importCredentials(legacyConfig: LegacyHomeServerConnectionConfig) { private suspend fun importCredentials(legacyConfig: LegacyHomeServerConnectionConfig) {

View file

@ -15,9 +15,9 @@ androidExtensions {
} }
// Note: 2 digits max for each value // Note: 2 digits max for each value
ext.versionMajor = 0 ext.versionMajor = 1
ext.versionMinor = 91 ext.versionMinor = 0
ext.versionPatch = 6 ext.versionPatch = 0
static def getGitTimestamp() { static def getGitTimestamp() {
def cmd = 'git show -s --format=%ct' def cmd = 'git show -s --format=%ct'
@ -72,7 +72,7 @@ static def getGplayVersionSuffix() {
if (gitBranchName() == "master") { if (gitBranchName() == "master") {
return "" return ""
} else { } else {
return "-dev" return "" // TODO revert this commit "-dev"
} }
} }
@ -183,7 +183,7 @@ android {
buildTypes { buildTypes {
debug { debug {
applicationIdSuffix ".debug" applicationIdSuffix ".debug"
resValue "string", "app_name", "Riot.imX dbg" resValue "string", "app_name", "Element dbg"
resValue "bool", "debug_mode", "true" resValue "bool", "debug_mode", "true"
buildConfigField "boolean", "LOW_PRIVACY_LOG_ENABLE", "false" buildConfigField "boolean", "LOW_PRIVACY_LOG_ENABLE", "false"
@ -192,7 +192,7 @@ android {
} }
release { release {
resValue "string", "app_name", "Riot.imX" resValue "string", "app_name", "Element (Riot.im)"
resValue "bool", "debug_mode", "false" resValue "bool", "debug_mode", "false"
buildConfigField "boolean", "LOW_PRIVACY_LOG_ENABLE", "false" buildConfigField "boolean", "LOW_PRIVACY_LOG_ENABLE", "false"

View file

@ -136,6 +136,7 @@
<data android:scheme="https" /> <data android:scheme="https" />
<data android:host="riot.im" /> <data android:host="riot.im" />
<data android:host="element.io" />
<data android:pathPrefix="/config/" /> <data android:pathPrefix="/config/" />
</intent-filter> </intent-filter>
</activity> </activity>

View file

@ -43,6 +43,7 @@ import im.vector.riotx.core.di.VectorComponent
import im.vector.riotx.core.extensions.configureAndStart import im.vector.riotx.core.extensions.configureAndStart
import im.vector.riotx.core.rx.RxConfig import im.vector.riotx.core.rx.RxConfig
import im.vector.riotx.features.configuration.VectorConfiguration import im.vector.riotx.features.configuration.VectorConfiguration
import im.vector.riotx.features.disclaimer.doNotShowDisclaimerDialog
import im.vector.riotx.features.lifecycle.VectorActivityLifecycleCallbacks import im.vector.riotx.features.lifecycle.VectorActivityLifecycleCallbacks
import im.vector.riotx.features.notifications.NotificationDrawerManager import im.vector.riotx.features.notifications.NotificationDrawerManager
import im.vector.riotx.features.notifications.NotificationUtils import im.vector.riotx.features.notifications.NotificationUtils
@ -123,7 +124,11 @@ class VectorApplication :
notificationUtils.createNotificationChannels() notificationUtils.createNotificationChannels()
// It can takes time, but do we care? // It can takes time, but do we care?
legacySessionImporter.process() val sessionImported = legacySessionImporter.process()
if (!sessionImported) {
// Do not display the name change popup
doNotShowDisclaimerDialog(this)
}
if (authenticationService.hasAuthenticatedSessions() && !activeSessionHolder.hasActiveSession()) { if (authenticationService.hasAuthenticatedSessions() && !activeSessionHolder.hasActiveSession()) {
val lastAuthenticatedSession = authenticationService.getLastAuthenticatedSession()!! val lastAuthenticatedSession = authenticationService.getLastAuthenticatedSession()!!

View file

@ -68,7 +68,7 @@ class ExportKeysDialog {
passwordVisible = !passwordVisible passwordVisible = !passwordVisible
passPhrase1EditText.showPassword(passwordVisible) passPhrase1EditText.showPassword(passwordVisible)
passPhrase2EditText.showPassword(passwordVisible) passPhrase2EditText.showPassword(passwordVisible)
showPassword.setImageResource(if (passwordVisible) R.drawable.ic_eye_closed_black else R.drawable.ic_eye_black) showPassword.setImageResource(if (passwordVisible) R.drawable.ic_eye_closed else R.drawable.ic_eye)
} }
val exportDialog = builder.show() val exportDialog = builder.show()

View file

@ -49,7 +49,7 @@ class PromptPasswordDialog {
showPassword.setOnClickListener { showPassword.setOnClickListener {
passwordVisible = !passwordVisible passwordVisible = !passwordVisible
passwordEditText.showPassword(passwordVisible) passwordEditText.showPassword(passwordVisible)
showPassword.setImageResource(if (passwordVisible) R.drawable.ic_eye_closed_black else R.drawable.ic_eye_black) showPassword.setImageResource(if (passwordVisible) R.drawable.ic_eye_closed else R.drawable.ic_eye)
} }
AlertDialog.Builder(activity) AlertDialog.Builder(activity)

View file

@ -21,7 +21,7 @@ import im.vector.riotx.R
/** /**
* Default background color is for the bottom sheets (R.attr.vctr_list_bottom_sheet_divider_color). * Default background color is for the bottom sheets (R.attr.vctr_list_bottom_sheet_divider_color).
* To use in fragment, set color using R.attr.vctr_list_divider_color * To use in fragment, set color using R.attr.riotx_list_divider_color
*/ */
@EpoxyModelClass(layout = R.layout.item_divider) @EpoxyModelClass(layout = R.layout.item_divider)
abstract class DividerItem : VectorEpoxyModel<DividerItem.Holder>() { abstract class DividerItem : VectorEpoxyModel<DividerItem.Holder>() {

View file

@ -75,17 +75,22 @@ abstract class ProfileActionItem : VectorEpoxyModel<ProfileActionItem.Holder>()
holder.view.isClickable = false holder.view.isClickable = false
} }
holder.title.text = title holder.title.text = title
val tintColor = if (destructive) { val titleTintColor = if (destructive) {
ContextCompat.getColor(holder.view.context, R.color.riotx_notice) ContextCompat.getColor(holder.view.context, R.color.riotx_notice)
} else { } else {
ThemeUtils.getColor(holder.view.context, R.attr.riotx_text_primary) ThemeUtils.getColor(holder.view.context, R.attr.riotx_text_primary)
} }
holder.title.setTextColor(tintColor) val iconTintColor = if (destructive) {
ContextCompat.getColor(holder.view.context, R.color.riotx_notice)
} else {
ThemeUtils.getColor(holder.view.context, R.attr.riotx_text_secondary)
}
holder.title.setTextColor(titleTintColor)
holder.subtitle.setTextOrHide(subtitle) holder.subtitle.setTextOrHide(subtitle)
if (iconRes != 0) { if (iconRes != 0) {
holder.icon.setImageResource(iconRes) holder.icon.setImageResource(iconRes)
if (tintIcon) { if (tintIcon) {
ImageViewCompat.setImageTintList(holder.icon, ColorStateList.valueOf(tintColor)) ImageViewCompat.setImageTintList(holder.icon, ColorStateList.valueOf(iconTintColor))
} else { } else {
ImageViewCompat.setImageTintList(holder.icon, null) ImageViewCompat.setImageTintList(holder.icon, null)
} }
@ -110,7 +115,7 @@ abstract class ProfileActionItem : VectorEpoxyModel<ProfileActionItem.Holder>()
if (editableRes != 0 && editable) { if (editableRes != 0 && editable) {
val tintColorSecondary = if (destructive) { val tintColorSecondary = if (destructive) {
tintColor titleTintColor
} else { } else {
ThemeUtils.getColor(holder.view.context, R.attr.riotx_text_secondary) ThemeUtils.getColor(holder.view.context, R.attr.riotx_text_secondary)
} }

View file

@ -27,7 +27,7 @@ import im.vector.riotx.R
import im.vector.riotx.core.platform.SimpleTextWatcher import im.vector.riotx.core.platform.SimpleTextWatcher
fun EditText.setupAsSearch(@DrawableRes searchIconRes: Int = R.drawable.ic_filter, fun EditText.setupAsSearch(@DrawableRes searchIconRes: Int = R.drawable.ic_filter,
@DrawableRes clearIconRes: Int = R.drawable.ic_x_green) { @DrawableRes clearIconRes: Int = R.drawable.ic_x_gray) {
addTextChangedListener(object : SimpleTextWatcher() { addTextChangedListener(object : SimpleTextWatcher() {
override fun afterTextChanged(s: Editable) { override fun afterTextChanged(s: Editable) {
val clearIcon = if (s.isNotEmpty()) clearIconRes else 0 val clearIcon = if (s.isNotEmpty()) clearIconRes else 0

View file

@ -102,7 +102,7 @@ fun Fragment.queryExportKeys(userId: String, requestCode: Int) {
selectTxtFileToWrite( selectTxtFileToWrite(
activity = requireActivity(), activity = requireActivity(),
fragment = this, fragment = this,
defaultFileName = "riot-megolm-export-$userId-$timestamp.txt", defaultFileName = "element-megolm-export-$userId-$timestamp.txt",
chooserHint = getString(R.string.keys_backup_setup_step1_manual_export), chooserHint = getString(R.string.keys_backup_setup_step1_manual_export),
requestCode = requestCode requestCode = requestCode
) )
@ -114,7 +114,7 @@ fun Activity.queryExportKeys(userId: String, requestCode: Int) {
selectTxtFileToWrite( selectTxtFileToWrite(
activity = this, activity = this,
fragment = null, fragment = null,
defaultFileName = "riot-megolm-export-$userId-$timestamp.txt", defaultFileName = "element-megolm-export-$userId-$timestamp.txt",
chooserHint = getString(R.string.keys_backup_setup_step1_manual_export), chooserHint = getString(R.string.keys_backup_setup_step1_manual_export),
requestCode = requestCode requestCode = requestCode
) )

View file

@ -23,6 +23,8 @@ import android.view.ViewGroup
import android.widget.TextView import android.widget.TextView
import androidx.preference.PreferenceCategory import androidx.preference.PreferenceCategory
import androidx.preference.PreferenceViewHolder import androidx.preference.PreferenceViewHolder
import im.vector.riotx.R
import im.vector.riotx.features.themes.ThemeUtils
/** /**
* Customize PreferenceCategory class to redefine some attributes. * Customize PreferenceCategory class to redefine some attributes.
@ -46,6 +48,7 @@ class VectorPreferenceCategory : PreferenceCategory {
val titleTextView = holder.itemView.findViewById<TextView>(android.R.id.title) val titleTextView = holder.itemView.findViewById<TextView>(android.R.id.title)
titleTextView?.setTypeface(null, Typeface.BOLD) titleTextView?.setTypeface(null, Typeface.BOLD)
titleTextView?.setTextColor(ThemeUtils.getColor(context, R.attr.riotx_text_primary))
// "isIconSpaceReserved = false" does not work for preference category, so remove the padding // "isIconSpaceReserved = false" does not work for preference category, so remove the padding
if (!isIconSpaceReserved) { if (!isIconSpaceReserved) {

View file

@ -74,7 +74,7 @@ class KeysBackupRestoreFromPassphraseFragment @Inject constructor() : VectorBase
viewModel.showPasswordMode.observe(viewLifecycleOwner, Observer { viewModel.showPasswordMode.observe(viewLifecycleOwner, Observer {
val shouldBeVisible = it ?: false val shouldBeVisible = it ?: false
mPassphraseTextEdit.showPassword(shouldBeVisible) mPassphraseTextEdit.showPassword(shouldBeVisible)
mPassphraseReveal.setImageResource(if (shouldBeVisible) R.drawable.ic_eye_closed_black else R.drawable.ic_eye_black) mPassphraseReveal.setImageResource(if (shouldBeVisible) R.drawable.ic_eye_closed else R.drawable.ic_eye)
}) })
mPassphraseTextEdit.setOnEditorActionListener { _, actionId, _ -> mPassphraseTextEdit.setOnEditorActionListener { _, actionId, _ ->

View file

@ -141,7 +141,7 @@ class KeysBackupSetupStep2Fragment @Inject constructor() : VectorBaseFragment()
val shouldBeVisible = it ?: false val shouldBeVisible = it ?: false
mPassphraseTextEdit.showPassword(shouldBeVisible) mPassphraseTextEdit.showPassword(shouldBeVisible)
mPassphraseConfirmTextEdit.showPassword(shouldBeVisible) mPassphraseConfirmTextEdit.showPassword(shouldBeVisible)
mPassphraseReveal.setImageResource(if (shouldBeVisible) R.drawable.ic_eye_closed_black else R.drawable.ic_eye_black) mPassphraseReveal.setImageResource(if (shouldBeVisible) R.drawable.ic_eye_closed else R.drawable.ic_eye)
}) })
viewModel.confirmPassphraseError.observe(viewLifecycleOwner, Observer { viewModel.confirmPassphraseError.observe(viewLifecycleOwner, Observer {

View file

@ -97,6 +97,6 @@ class SharedSecuredStoragePassphraseFragment @Inject constructor(
override fun invalidate() = withState(sharedViewModel) { state -> override fun invalidate() = withState(sharedViewModel) { state ->
val shouldBeVisible = state.passphraseVisible val shouldBeVisible = state.passphraseVisible
ssss_passphrase_enter_edittext.showPassword(shouldBeVisible) ssss_passphrase_enter_edittext.showPassword(shouldBeVisible)
ssss_view_show_password.setImageResource(if (shouldBeVisible) R.drawable.ic_eye_closed_black else R.drawable.ic_eye_black) ssss_view_show_password.setImageResource(if (shouldBeVisible) R.drawable.ic_eye_closed else R.drawable.ic_eye)
} }
} }

View file

@ -101,7 +101,7 @@ class BootstrapAccountPasswordFragment @Inject constructor(
if (state.step is BootstrapStep.AccountPassword) { if (state.step is BootstrapStep.AccountPassword) {
val isPasswordVisible = state.step.isPasswordVisible val isPasswordVisible = state.step.isPasswordVisible
bootstrapAccountPasswordEditText.showPassword(isPasswordVisible, updateCursor = false) bootstrapAccountPasswordEditText.showPassword(isPasswordVisible, updateCursor = false)
ssss_view_show_password.setImageResource(if (isPasswordVisible) R.drawable.ic_eye_closed_black else R.drawable.ic_eye_black) ssss_view_show_password.setImageResource(if (isPasswordVisible) R.drawable.ic_eye_closed else R.drawable.ic_eye)
} }
} }
} }

View file

@ -103,7 +103,7 @@ class BootstrapConfirmPassphraseFragment @Inject constructor() : VectorBaseFragm
if (state.step is BootstrapStep.ConfirmPassphrase) { if (state.step is BootstrapStep.ConfirmPassphrase) {
val isPasswordVisible = state.step.isPasswordVisible val isPasswordVisible = state.step.isPasswordVisible
ssss_passphrase_enter_edittext.showPassword(isPasswordVisible, updateCursor = false) ssss_passphrase_enter_edittext.showPassword(isPasswordVisible, updateCursor = false)
ssss_view_show_password.setImageResource(if (isPasswordVisible) R.drawable.ic_eye_closed_black else R.drawable.ic_eye_black) ssss_view_show_password.setImageResource(if (isPasswordVisible) R.drawable.ic_eye_closed else R.drawable.ic_eye)
} }
} }
} }

View file

@ -97,7 +97,7 @@ class BootstrapEnterPassphraseFragment @Inject constructor() : VectorBaseFragmen
if (state.step is BootstrapStep.SetupPassphrase) { if (state.step is BootstrapStep.SetupPassphrase) {
val isPasswordVisible = state.step.isPasswordVisible val isPasswordVisible = state.step.isPasswordVisible
ssss_passphrase_enter_edittext.showPassword(isPasswordVisible, updateCursor = false) ssss_passphrase_enter_edittext.showPassword(isPasswordVisible, updateCursor = false)
ssss_view_show_password.setImageResource(if (isPasswordVisible) R.drawable.ic_eye_closed_black else R.drawable.ic_eye_black) ssss_view_show_password.setImageResource(if (isPasswordVisible) R.drawable.ic_eye_closed else R.drawable.ic_eye)
state.passphraseStrength.invoke()?.let { strength -> state.passphraseStrength.invoke()?.let { strength ->
val score = strength.score val score = strength.score

View file

@ -129,7 +129,7 @@ class BootstrapMigrateBackupFragment @Inject constructor(
if (state.step is BootstrapStep.GetBackupSecretPassForMigration) { if (state.step is BootstrapStep.GetBackupSecretPassForMigration) {
val isPasswordVisible = state.step.isPasswordVisible val isPasswordVisible = state.step.isPasswordVisible
bootstrapMigrateEditText.showPassword(isPasswordVisible, updateCursor = false) bootstrapMigrateEditText.showPassword(isPasswordVisible, updateCursor = false)
bootstrapMigrateShowPassword.setImageResource(if (isPasswordVisible) R.drawable.ic_eye_closed_black else R.drawable.ic_eye_black) bootstrapMigrateShowPassword.setImageResource(if (isPasswordVisible) R.drawable.ic_eye_closed else R.drawable.ic_eye)
} }
bootstrapDescriptionText.text = getString(R.string.bootstrap_migration_enter_backup_password) bootstrapDescriptionText.text = getString(R.string.bootstrap_migration_enter_backup_password)

View file

@ -61,7 +61,7 @@ class BootstrapSaveRecoveryKeyFragment @Inject constructor(
val intent = Intent(Intent.ACTION_CREATE_DOCUMENT) val intent = Intent(Intent.ACTION_CREATE_DOCUMENT)
intent.addCategory(Intent.CATEGORY_OPENABLE) intent.addCategory(Intent.CATEGORY_OPENABLE)
intent.type = "text/plain" intent.type = "text/plain"
intent.putExtra(Intent.EXTRA_TITLE, "riot-recovery-key.txt") intent.putExtra(Intent.EXTRA_TITLE, "element-recovery-key.txt")
try { try {
sharedViewModel.handle(BootstrapActions.SaveReqQueryStarted) sharedViewModel.handle(BootstrapActions.SaveReqQueryStarted)

View file

@ -17,18 +17,16 @@
package im.vector.riotx.features.disclaimer package im.vector.riotx.features.disclaimer
import android.app.Activity import android.app.Activity
import androidx.preference.PreferenceManager import android.content.Context
import android.view.ViewGroup
import android.widget.TextView
import androidx.appcompat.app.AlertDialog import androidx.appcompat.app.AlertDialog
import androidx.core.content.edit import androidx.core.content.edit
import im.vector.riotx.BuildConfig import androidx.preference.PreferenceManager
import im.vector.riotx.R import im.vector.riotx.R
import im.vector.riotx.core.extensions.setTextWithColoredPart import im.vector.riotx.core.utils.openUrlInChromeCustomTab
import im.vector.riotx.core.utils.openPlayStore import im.vector.riotx.features.settings.VectorSettingsUrls
// Increase this value to show again the disclaimer dialog after an upgrade of the application // Increase this value to show again the disclaimer dialog after an upgrade of the application
private const val CURRENT_DISCLAIMER_VALUE = 1 private const val CURRENT_DISCLAIMER_VALUE = 2
private const val SHARED_PREF_KEY = "LAST_DISCLAIMER_VERSION_VALUE" private const val SHARED_PREF_KEY = "LAST_DISCLAIMER_VERSION_VALUE"
@ -42,22 +40,21 @@ fun showDisclaimerDialog(activity: Activity) {
val dialogLayout = activity.layoutInflater.inflate(R.layout.dialog_disclaimer_content, null) val dialogLayout = activity.layoutInflater.inflate(R.layout.dialog_disclaimer_content, null)
val textView = (dialogLayout as ViewGroup).findViewById<TextView>(R.id.dialogDisclaimerContentLine2)
@Suppress("ConstantConditionIf")
if (BuildConfig.FLAVOR == "gplay") {
textView.setTextWithColoredPart(R.string.alpha_disclaimer_content_line_2_gplay, R.string.alpha_disclaimer_content_line_2_gplay_colored_part)
textView.setOnClickListener {
openPlayStore(activity)
}
} else {
textView.setText(R.string.alpha_disclaimer_content_line_2_fdroid)
}
AlertDialog.Builder(activity) AlertDialog.Builder(activity)
.setView(dialogLayout) .setView(dialogLayout)
.setCancelable(false) .setCancelable(false)
.setPositiveButton(R.string._continue, null) .setNegativeButton(R.string.element_disclaimer_negative_button, null)
.setPositiveButton(R.string.element_disclaimer_positive_button) { _, _ ->
openUrlInChromeCustomTab(activity, null, VectorSettingsUrls.DISCLAIMER_URL)
}
.show() .show()
} }
} }
fun doNotShowDisclaimerDialog(context: Context) {
val sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context)
sharedPrefs.edit {
putInt(SHARED_PREF_KEY, CURRENT_DISCLAIMER_VALUE)
}
}

View file

@ -65,10 +65,6 @@ class RoomListQuickActionsEpoxyController @Inject constructor(
RoomListQuickActionsSharedAction.NotificationsMute(roomSummary.roomId).toBottomSheetItem(3, selectedRoomState) RoomListQuickActionsSharedAction.NotificationsMute(roomSummary.roomId).toBottomSheetItem(3, selectedRoomState)
if (showAll) { if (showAll) {
// Leave
dividerItem {
id("leave_separator")
}
RoomListQuickActionsSharedAction.Leave(roomSummary.roomId).toBottomSheetItem(5) RoomListQuickActionsSharedAction.Leave(roomSummary.roomId).toBottomSheetItem(5)
} }
} }

View file

@ -157,8 +157,8 @@ class LoginFragment @Inject constructor() : AbstractLoginFragment() {
} }
ServerType.Modular -> { ServerType.Modular -> {
loginServerIcon.isVisible = true loginServerIcon.isVisible = true
loginServerIcon.setImageResource(R.drawable.ic_logo_modular) loginServerIcon.setImageResource(R.drawable.ic_logo_element_matrix_services)
loginTitle.text = getString(resId, "Modular") loginTitle.text = getString(resId, "Element Matrix Services")
loginNotice.text = getString(R.string.login_server_modular_text) loginNotice.text = getString(R.string.login_server_modular_text)
} }
ServerType.Other -> { ServerType.Other -> {
@ -221,10 +221,10 @@ class LoginFragment @Inject constructor() : AbstractLoginFragment() {
passwordField.showPassword(passwordShown) passwordField.showPassword(passwordShown)
if (passwordShown) { if (passwordShown) {
passwordReveal.setImageResource(R.drawable.ic_eye_closed_black) passwordReveal.setImageResource(R.drawable.ic_eye_closed)
passwordReveal.contentDescription = getString(R.string.a11y_hide_password) passwordReveal.contentDescription = getString(R.string.a11y_hide_password)
} else { } else {
passwordReveal.setImageResource(R.drawable.ic_eye_black) passwordReveal.setImageResource(R.drawable.ic_eye)
passwordReveal.contentDescription = getString(R.string.a11y_show_password) passwordReveal.contentDescription = getString(R.string.a11y_show_password)
} }
} }

View file

@ -124,10 +124,10 @@ class LoginResetPasswordFragment @Inject constructor() : AbstractLoginFragment()
passwordField.showPassword(passwordShown) passwordField.showPassword(passwordShown)
if (passwordShown) { if (passwordShown) {
passwordReveal.setImageResource(R.drawable.ic_eye_closed_black) passwordReveal.setImageResource(R.drawable.ic_eye_closed)
passwordReveal.contentDescription = getString(R.string.a11y_hide_password) passwordReveal.contentDescription = getString(R.string.a11y_hide_password)
} else { } else {
passwordReveal.setImageResource(R.drawable.ic_eye_black) passwordReveal.setImageResource(R.drawable.ic_eye)
passwordReveal.contentDescription = getString(R.string.a11y_show_password) passwordReveal.contentDescription = getString(R.string.a11y_show_password)
} }
} }

View file

@ -68,7 +68,7 @@ class LoginServerUrlFormFragment @Inject constructor() : AbstractLoginFragment()
loginServerUrlFormText.text = getString(R.string.login_server_url_form_modular_text) loginServerUrlFormText.text = getString(R.string.login_server_url_form_modular_text)
loginServerUrlFormLearnMore.isVisible = true loginServerUrlFormLearnMore.isVisible = true
loginServerUrlFormHomeServerUrlTil.hint = getText(R.string.login_server_url_form_modular_hint) loginServerUrlFormHomeServerUrlTil.hint = getText(R.string.login_server_url_form_modular_hint)
loginServerUrlFormNotice.text = getString(R.string.login_server_url_form_modular_notice) loginServerUrlFormNotice.text = getString(R.string.login_server_url_form_common_notice)
} }
else -> { else -> {
loginServerUrlFormIcon.isVisible = false loginServerUrlFormIcon.isVisible = false
@ -76,7 +76,7 @@ class LoginServerUrlFormFragment @Inject constructor() : AbstractLoginFragment()
loginServerUrlFormText.text = getString(R.string.login_connect_to_a_custom_server) loginServerUrlFormText.text = getString(R.string.login_connect_to_a_custom_server)
loginServerUrlFormLearnMore.isVisible = false loginServerUrlFormLearnMore.isVisible = false
loginServerUrlFormHomeServerUrlTil.hint = getText(R.string.login_server_url_form_other_hint) loginServerUrlFormHomeServerUrlTil.hint = getText(R.string.login_server_url_form_other_hint)
loginServerUrlFormNotice.text = getString(R.string.login_server_url_form_other_notice) loginServerUrlFormNotice.text = getString(R.string.login_server_url_form_common_notice)
} }
} }
} }

View file

@ -39,7 +39,7 @@ open class LoginSignUpSignInSelectionFragment @Inject constructor() : AbstractLo
loginSignupSigninText.text = getString(R.string.login_server_matrix_org_text) loginSignupSigninText.text = getString(R.string.login_server_matrix_org_text)
} }
ServerType.Modular -> { ServerType.Modular -> {
loginSignupSigninServerIcon.setImageResource(R.drawable.ic_logo_modular) loginSignupSigninServerIcon.setImageResource(R.drawable.ic_logo_element_matrix_services)
loginSignupSigninServerIcon.isVisible = true loginSignupSigninServerIcon.isVisible = true
loginSignupSigninTitle.text = getString(R.string.login_connect_to_modular) loginSignupSigninTitle.text = getString(R.string.login_connect_to_modular)
loginSignupSigninText.text = state.homeServerUrl.toReducedUrl() loginSignupSigninText.text = state.homeServerUrl.toReducedUrl()

View file

@ -220,7 +220,7 @@ class BugReporter @Inject constructor(
} }
if (!mIsCancelled) { if (!mIsCancelled) {
val text = "[Riot.imX] " + val text = "[Element] " +
if (forSuggestion) { if (forSuggestion) {
"[Suggestion] " "[Suggestion] "
} else { } else {
@ -292,7 +292,7 @@ class BugReporter @Inject constructor(
builder.addFormDataPart("label", context.getString(R.string.git_branch_name)) builder.addFormDataPart("label", context.getString(R.string.git_branch_name))
// Special for RiotX // Special for RiotX
builder.addFormDataPart("label", "[Riot.imX]") builder.addFormDataPart("label", "[Element]")
// Suggestion // Suggestion
if (forSuggestion) { if (forSuggestion) {

View file

@ -158,7 +158,7 @@ class VectorSettingsGeneralFragment : VectorSettingsBaseFragment() {
// It does not work on XML, do it here // It does not work on XML, do it here
it.icon = activity?.let { it.icon = activity?.let {
ThemeUtils.tintDrawable(it, ThemeUtils.tintDrawable(it,
ContextCompat.getDrawable(it, R.drawable.ic_add_black)!!, R.attr.vctr_settings_icon_tint_color) ContextCompat.getDrawable(it, R.drawable.ic_material_add)!!, R.attr.colorAccent)
} }
// Unfortunately, this is not supported in lib v7 // Unfortunately, this is not supported in lib v7
@ -180,7 +180,7 @@ class VectorSettingsGeneralFragment : VectorSettingsBaseFragment() {
// It does not work on XML, do it here // It does not work on XML, do it here
it.icon = activity?.let { it.icon = activity?.let {
ThemeUtils.tintDrawable(it, ThemeUtils.tintDrawable(it,
ContextCompat.getDrawable(it, R.drawable.ic_add_black)!!, R.attr.vctr_settings_icon_tint_color) ContextCompat.getDrawable(it, R.drawable.ic_material_add)!!, R.attr.colorAccent)
} }
it.setOnPreferenceClickListener { it.setOnPreferenceClickListener {
@ -817,7 +817,7 @@ private fun showEmailValidationDialog(pid: ThreePid) {
newPasswordText.showPassword(passwordShown) newPasswordText.showPassword(passwordShown)
confirmNewPasswordText.showPassword(passwordShown) confirmNewPasswordText.showPassword(passwordShown)
showPassword.setImageResource(if (passwordShown) R.drawable.ic_eye_closed_black else R.drawable.ic_eye_black) showPassword.setImageResource(if (passwordShown) R.drawable.ic_eye_closed else R.drawable.ic_eye)
} }
val dialog = AlertDialog.Builder(activity) val dialog = AlertDialog.Builder(activity)

View file

@ -25,6 +25,7 @@ import im.vector.riotx.R
import im.vector.riotx.core.preference.VectorPreference import im.vector.riotx.core.preference.VectorPreference
import im.vector.riotx.core.utils.copyToClipboard import im.vector.riotx.core.utils.copyToClipboard
import im.vector.riotx.core.utils.displayInWebView import im.vector.riotx.core.utils.displayInWebView
import im.vector.riotx.core.utils.openUrlInChromeCustomTab
import im.vector.riotx.features.version.VersionProvider import im.vector.riotx.features.version.VersionProvider
import im.vector.riotx.openOssLicensesMenuActivity import im.vector.riotx.openOssLicensesMenuActivity
import javax.inject.Inject import javax.inject.Inject
@ -82,21 +83,21 @@ class VectorSettingsHelpAboutFragment @Inject constructor(
// copyright // copyright
findPreference<VectorPreference>(VectorPreferences.SETTINGS_COPYRIGHT_PREFERENCE_KEY)!! findPreference<VectorPreference>(VectorPreferences.SETTINGS_COPYRIGHT_PREFERENCE_KEY)!!
.onPreferenceClickListener = Preference.OnPreferenceClickListener { .onPreferenceClickListener = Preference.OnPreferenceClickListener {
activity?.displayInWebView(VectorSettingsUrls.COPYRIGHT) openUrlInChromeCustomTab(requireContext(), null, VectorSettingsUrls.COPYRIGHT)
false false
} }
// terms & conditions // terms & conditions
findPreference<VectorPreference>(VectorPreferences.SETTINGS_APP_TERM_CONDITIONS_PREFERENCE_KEY)!! findPreference<VectorPreference>(VectorPreferences.SETTINGS_APP_TERM_CONDITIONS_PREFERENCE_KEY)!!
.onPreferenceClickListener = Preference.OnPreferenceClickListener { .onPreferenceClickListener = Preference.OnPreferenceClickListener {
activity?.displayInWebView(VectorSettingsUrls.TAC) openUrlInChromeCustomTab(requireContext(), null, VectorSettingsUrls.TAC)
false false
} }
// privacy policy // privacy policy
findPreference<VectorPreference>(VectorPreferences.SETTINGS_PRIVACY_POLICY_PREFERENCE_KEY)!! findPreference<VectorPreference>(VectorPreferences.SETTINGS_PRIVACY_POLICY_PREFERENCE_KEY)!!
.onPreferenceClickListener = Preference.OnPreferenceClickListener { .onPreferenceClickListener = Preference.OnPreferenceClickListener {
activity?.displayInWebView(VectorSettingsUrls.PRIVACY_POLICY) openUrlInChromeCustomTab(requireContext(), null, VectorSettingsUrls.PRIVACY_POLICY)
false false
} }

View file

@ -18,8 +18,9 @@ package im.vector.riotx.features.settings
object VectorSettingsUrls { object VectorSettingsUrls {
const val COPYRIGHT = "https://riot.im/copyright" const val COPYRIGHT = "https://element.io/copyright"
const val TAC = "https://riot.im/tac" const val TAC = "https://element.io/terms-of-service"
const val PRIVACY_POLICY = "https://riot.im/privacy" const val PRIVACY_POLICY = "https://element.io/privacy"
const val DISCLAIMER_URL = "https://element.io/previously-riot"
const val THIRD_PARTY_LICENSES = "file:///android_asset/open_source_licenses.html" const val THIRD_PARTY_LICENSES = "file:///android_asset/open_source_licenses.html"
} }

View file

@ -114,6 +114,6 @@ class DeactivateAccountFragment @Inject constructor(
override fun invalidate() = withState(viewModel) { state -> override fun invalidate() = withState(viewModel) { state ->
deactivateAccountPassword.showPassword(state.passwordShown) deactivateAccountPassword.showPassword(state.passwordShown)
deactivateAccountPasswordReveal.setImageResource(if (state.passwordShown) R.drawable.ic_eye_closed_black else R.drawable.ic_eye_black) deactivateAccountPasswordReveal.setImageResource(if (state.passwordShown) R.drawable.ic_eye_closed else R.drawable.ic_eye)
} }
} }

View file

@ -78,10 +78,10 @@ abstract class LoginPasswordFormItem : VectorEpoxyModel<LoginPasswordFormItem.Ho
holder.passwordField.showPassword(passwordShown) holder.passwordField.showPassword(passwordShown)
if (passwordShown) { if (passwordShown) {
holder.passwordReveal.setImageResource(R.drawable.ic_eye_closed_black) holder.passwordReveal.setImageResource(R.drawable.ic_eye_closed)
holder.passwordReveal.contentDescription = stringProvider.getString(R.string.a11y_hide_password) holder.passwordReveal.contentDescription = stringProvider.getString(R.string.a11y_hide_password)
} else { } else {
holder.passwordReveal.setImageResource(R.drawable.ic_eye_black) holder.passwordReveal.setImageResource(R.drawable.ic_eye)
holder.passwordReveal.contentDescription = stringProvider.getString(R.string.a11y_show_password) holder.passwordReveal.contentDescription = stringProvider.getString(R.string.a11y_show_password)
} }
} }

View file

@ -32,7 +32,7 @@ import im.vector.riotx.features.webview.WebViewEventListener
@SuppressLint("NewApi") @SuppressLint("NewApi")
fun WebView.setupForWidget(webViewEventListener: WebViewEventListener) { fun WebView.setupForWidget(webViewEventListener: WebViewEventListener) {
// xml value seems ignored // xml value seems ignored
setBackgroundColor(ThemeUtils.getColor(context, R.attr.vctr_bottom_nav_background_color)) setBackgroundColor(ThemeUtils.getColor(context, R.attr.riotx_bottom_nav_background_color))
// clear caches // clear caches
clearHistory() clearHistory()

View file

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/riotx_accent" android:state_checked="true" />
<item android:color="?riotx_bottom_nav_icon_color" />
</selector>

View file

@ -4,29 +4,19 @@
android:viewportWidth="108" android:viewportWidth="108"
android:viewportHeight="108"> android:viewportHeight="108">
<path <path
android:pathData="m103.426,146.731c10.234,10.234 27.539,9.521 38.653,-1.592s11.826,-28.419 1.592,-38.653c-10.234,-10.234 -72.627,-72.746 -72.627,-72.746l-7.951,9.069s1.497,6.213 -0.319,8.284c-1.816,2.071 -9.701,3.147 -9.701,3.147l-16.509,18.833s-1.861,4.935 -1.092,5.704z" android:pathData="M47.28,32.88C47.28,31.289 48.569,30 50.16,30C60.764,30 69.36,38.596 69.36,49.2C69.36,50.791 68.071,52.08 66.48,52.08C64.89,52.08 63.6,50.791 63.6,49.2C63.6,41.777 57.583,35.76 50.16,35.76C48.569,35.76 47.28,34.471 47.28,32.88Z"
android:fillColor="#000" android:fillColor="#ffffff"
android:fillAlpha=".7"
android:fillType="evenOdd"/> android:fillType="evenOdd"/>
<path <path
android:pathData="m47.713,42.317v7.766l7.886,-0.008c0.1,0 0.192,-0.003 0.282,-0.009 2.073,-0.137 3.694,-1.837 3.694,-3.87 0,-2.139 -1.78,-3.879 -3.969,-3.879zM39.915,80.675c-4.307,0 -7.799,-3.413 -7.799,-7.623v-14.528c-0.028,-0.263 -0.043,-0.531 -0.043,-0.802 -0,-0.276 0.014,-0.549 0.043,-0.817v-22.21c0,-4.21 3.492,-7.624 7.799,-7.624h15.692c10.789,0 19.567,8.58 19.567,19.126 0,10.027 -8.012,18.408 -18.24,19.081 -0.435,0.029 -0.883,0.044 -1.327,0.044l-7.893,0.008v7.723c0,4.21 -3.491,7.623 -7.799,7.623z" android:pathData="M60.72,75.12C60.72,76.711 59.431,78 57.84,78C47.236,78 38.64,69.404 38.64,58.8C38.64,57.209 39.929,55.92 41.52,55.92C43.111,55.92 44.4,57.209 44.4,58.8C44.4,66.223 50.417,72.24 57.84,72.24C59.431,72.24 60.72,73.529 60.72,75.12Z"
android:fillColor="#a2ddef" android:fillColor="#ffffff"
android:fillType="evenOdd"/> android:fillType="evenOdd"/>
<path <path
android:pathData="m47.713,42.317v7.766l7.886,-0.008c0.1,0 0.192,-0.003 0.282,-0.009 2.073,-0.137 3.694,-1.837 3.694,-3.87 0,-2.139 -1.78,-3.879 -3.969,-3.879zM39.915,80.675c-4.307,0 -7.799,-3.413 -7.799,-7.623v-38.358c0,-4.21 3.492,-7.624 7.799,-7.624h15.692c10.789,0 19.567,8.58 19.567,19.126 0,10.027 -8.012,18.408 -18.24,19.081 -0.435,0.029 -0.883,0.044 -1.327,0.044l-7.893,0.008v7.723c0,4.21 -3.491,7.623 -7.799,7.623z" android:pathData="M32.88,60.72C31.289,60.72 30,59.431 30,57.84C30,47.236 38.596,38.64 49.2,38.64C50.791,38.64 52.08,39.929 52.08,41.52C52.08,43.111 50.791,44.4 49.2,44.4C41.777,44.4 35.76,50.417 35.76,57.84C35.76,59.431 34.471,60.72 32.88,60.72Z"
android:strokeWidth="1.372009" android:fillColor="#ffffff"
android:fillColor="#00000000"
android:strokeColor="#368bd6"
android:fillType="evenOdd"/> android:fillType="evenOdd"/>
<path <path
android:pathData="m39.915,73.052v-38.358h15.692c6.499,0 11.767,5.15 11.767,11.502 0,6.089 -4.84,11.073 -10.964,11.476 -0.266,0.018 -0.533,0.027 -0.803,0.027h-15.692" android:pathData="M75.12,47.28C76.711,47.28 78,48.569 78,50.16C78,60.764 69.404,69.36 58.8,69.36C57.209,69.36 55.92,68.071 55.92,66.48C55.92,64.89 57.209,63.6 58.8,63.6C66.223,63.6 72.24,57.583 72.24,50.16C72.24,48.569 73.529,47.28 75.12,47.28Z"
android:strokeWidth="1.372009" android:fillColor="#ffffff"
android:fillColor="#00000000"
android:strokeColor="#368bd6"
android:fillType="evenOdd"
android:strokeLineCap="round"/>
<path
android:pathData="m46.341,30.322c1.196,1.668 1.655,3.691 1.293,5.695 -0.362,2.005 -1.502,3.752 -3.21,4.92 -3.525,2.411 -8.402,1.572 -10.87,-1.871 -1.196,-1.668 -1.655,-3.691 -1.293,-5.696 0.362,-2.005 1.502,-3.752 3.21,-4.92 3.525,-2.411 8.401,-1.572 10.869,1.871zM67.439,80.671c-2.458,0 -4.876,-1.132 -6.394,-3.249l-11.022,-15.375c-2.472,-3.448 -1.616,-8.202 1.911,-10.617 3.527,-2.417 8.39,-1.58 10.862,1.868l11.022,15.375c2.472,3.448 1.616,8.202 -1.911,10.617 -1.362,0.933 -2.923,1.381 -4.469,1.381z"
android:fillColor="#368bd6"
android:fillType="evenOdd"/> android:fillType="evenOdd"/>
</vector> </vector>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 707 B

After

Width:  |  Height:  |  Size: 595 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 908 B

After

Width:  |  Height:  |  Size: 707 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 442 B

After

Width:  |  Height:  |  Size: 421 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 773 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 963 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 610 B

After

Width:  |  Height:  |  Size: 433 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 928 B

After

Width:  |  Height:  |  Size: 734 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 910 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

View file

@ -3,7 +3,7 @@
<item android:state_checked="true"> <item android:state_checked="true">
<shape> <shape>
<solid android:color="#10000000" /> <solid android:color="@android:color/transparent" />
<corners android:radius="4dp" /> <corners android:radius="4dp" />
</shape> </shape>
</item> </item>

View file

@ -0,0 +1,22 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="64dp"
android:height="64dp"
android:viewportWidth="64"
android:viewportHeight="64">
<path
android:pathData="M23.04,3.84C23.04,1.7192 24.7593,0 26.88,0C41.0185,0 52.48,11.4615 52.48,25.6C52.48,27.7208 50.7608,29.44 48.64,29.44C46.5193,29.44 44.8,27.7208 44.8,25.6C44.8,15.7031 36.777,7.68 26.88,7.68C24.7593,7.68 23.04,5.9608 23.04,3.84Z"
android:fillColor="#0DBD8B"
android:fillType="evenOdd"/>
<path
android:pathData="M40.96,60.16C40.96,62.2808 39.2407,64 37.12,64C22.9815,64 11.52,52.5385 11.52,38.4C11.52,36.2792 13.2392,34.56 15.36,34.56C17.4807,34.56 19.2,36.2792 19.2,38.4C19.2,48.2969 27.223,56.32 37.12,56.32C39.2407,56.32 40.96,58.0392 40.96,60.16Z"
android:fillColor="#0DBD8B"
android:fillType="evenOdd"/>
<path
android:pathData="M3.84,40.96C1.7192,40.96 -0,39.2407 -0,37.12C-0,22.9815 11.4615,11.52 25.6,11.52C27.7208,11.52 29.44,13.2392 29.44,15.36C29.44,17.4807 27.7208,19.2 25.6,19.2C15.7031,19.2 7.68,27.223 7.68,37.12C7.68,39.2407 5.9608,40.96 3.84,40.96Z"
android:fillColor="#0DBD8B"
android:fillType="evenOdd"/>
<path
android:pathData="M60.16,23.04C62.2808,23.04 64,24.7593 64,26.88C64,41.0185 52.5385,52.48 38.4,52.48C36.2792,52.48 34.56,50.7608 34.56,48.64C34.56,46.5193 36.2792,44.8 38.4,44.8C48.2969,44.8 56.32,36.777 56.32,26.88C56.32,24.7593 58.0392,23.04 60.16,23.04Z"
android:fillColor="#0DBD8B"
android:fillType="evenOdd"/>
</vector>

View file

@ -0,0 +1,27 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="155dp"
android:height="33dp"
android:viewportWidth="155"
android:viewportHeight="33">
<path
android:pathData="M21.533,22.855H4.969C5.165,24.595 5.794,25.985 6.856,27.023C7.918,28.034 9.316,28.539 11.05,28.539C12.196,28.539 13.23,28.258 14.153,27.697C15.075,27.135 15.732,26.378 16.124,25.423H21.156C20.485,27.641 19.227,29.437 17.382,30.812C15.564,32.16 13.412,32.833 10.924,32.833C7.681,32.833 5.053,31.753 3.04,29.591C1.055,27.43 0.063,24.694 0.063,21.381C0.063,18.153 1.069,15.445 3.082,13.255C5.095,11.066 7.695,9.972 10.882,9.972C14.069,9.972 16.641,11.052 18.598,13.213C20.583,15.347 21.575,18.041 21.575,21.297L21.533,22.855ZM10.882,14.056C9.316,14.056 8.016,14.519 6.982,15.445C5.947,16.371 5.304,17.606 5.053,19.15H16.627C16.403,17.606 15.788,16.371 14.782,15.445C13.775,14.519 12.475,14.056 10.882,14.056Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M25.009,25.802V0.751H30V25.886C30,27.009 30.615,27.57 31.845,27.57L32.725,27.528V32.286C32.25,32.37 31.747,32.412 31.216,32.412C29.063,32.412 27.483,31.865 26.477,30.77C25.499,29.676 25.009,28.02 25.009,25.802Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M55.966,22.855H39.401C39.597,24.595 40.226,25.985 41.289,27.023C42.351,28.034 43.749,28.539 45.482,28.539C46.628,28.539 47.663,28.258 48.585,27.697C49.508,27.135 50.165,26.378 50.556,25.423H55.588C54.917,27.641 53.659,29.437 51.814,30.812C49.997,32.16 47.844,32.833 45.356,32.833C42.113,32.833 39.485,31.753 37.472,29.591C35.487,27.43 34.495,24.694 34.495,21.381C34.495,18.153 35.501,15.445 37.514,13.255C39.527,11.066 42.127,9.972 45.314,9.972C48.501,9.972 51.073,11.052 53.03,13.213C55.015,15.347 56.008,18.041 56.008,21.297L55.966,22.855ZM45.314,14.056C43.749,14.056 42.449,14.519 41.414,15.445C40.38,16.371 39.737,17.606 39.485,19.15H51.059C50.836,17.606 50.221,16.371 49.214,15.445C48.208,14.519 46.908,14.056 45.314,14.056Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M78.48,19.781V32.328H73.49V19.234C73.49,15.922 72.12,14.266 69.38,14.266C67.899,14.266 66.711,14.743 65.816,15.698C64.949,16.652 64.516,17.957 64.516,19.613V32.328H59.526V10.477H64.138V13.382C64.67,12.399 65.48,11.585 66.571,10.94C67.661,10.294 69.017,9.972 70.638,9.972C73.658,9.972 75.838,11.122 77.18,13.424C79.025,11.122 81.486,9.972 84.561,9.972C87.105,9.972 89.062,10.771 90.432,12.371C91.802,13.943 92.487,16.02 92.487,18.603V32.328H87.496V19.234C87.496,15.922 86.126,14.266 83.387,14.266C81.877,14.266 80.675,14.757 79.78,15.74C78.914,16.694 78.48,18.041 78.48,19.781Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M117.304,22.855H100.739C100.935,24.595 101.564,25.985 102.627,27.023C103.689,28.034 105.087,28.539 106.82,28.539C107.966,28.539 109.001,28.258 109.923,27.697C110.846,27.135 111.503,26.378 111.894,25.423H116.926C116.255,27.641 114.997,29.437 113.152,30.812C111.335,32.16 109.182,32.833 106.694,32.833C103.451,32.833 100.823,31.753 98.811,29.591C96.826,27.43 95.833,24.694 95.833,21.381C95.833,18.153 96.84,15.445 98.852,13.255C100.865,11.066 103.465,9.972 106.652,9.972C109.839,9.972 112.411,11.052 114.368,13.213C116.353,15.347 117.346,18.041 117.346,21.297L117.304,22.855ZM106.652,14.056C105.087,14.056 103.787,14.519 102.752,15.445C101.718,16.371 101.075,17.606 100.823,19.15H112.397C112.174,17.606 111.559,16.371 110.552,15.445C109.546,14.519 108.246,14.056 106.652,14.056Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M125.477,10.477V13.382C125.98,12.427 126.804,11.628 127.951,10.982C129.125,10.308 130.537,9.972 132.186,9.972C134.758,9.972 136.743,10.757 138.141,12.329C139.567,13.901 140.28,15.992 140.28,18.603V32.328H135.289V19.234C135.289,17.69 134.926,16.483 134.199,15.613C133.5,14.715 132.424,14.266 130.97,14.266C129.376,14.266 128.118,14.743 127.196,15.698C126.301,16.652 125.854,17.971 125.854,19.655V32.328H120.864V10.477H125.477Z"
android:fillColor="#ffffff"/>
<path
android:pathData="M154.854,27.865V32.202C154.239,32.37 153.372,32.454 152.254,32.454C148.004,32.454 145.88,30.307 145.88,26.013V14.476H142.567V10.477H145.88V4.793H150.87V10.477H154.938V14.476H150.87V25.507C150.87,27.22 151.681,28.076 153.302,28.076L154.854,27.865Z"
android:fillColor="#ffffff"/>
</vector>

View file

@ -1,14 +1,7 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector android:autoMirrored="true" android:height="24dp"
android:width="21dp" android:viewportHeight="24" android:viewportWidth="24"
android:height="22dp" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
android:viewportWidth="21" <path android:fillColor="#ffffff"
android:viewportHeight="22"> android:pathData="M21,12C21,16.9706 16.9706,21 12,21C7.0294,21 3,16.9706 3,12C3,7.0294 7.0294,3 12,3C16.9706,3 21,7.0294 21,12ZM8,10C6.8954,10 6,10.8954 6,12C6,13.1046 6.8954,14 8,14H10V16C10,17.1046 10.8954,18 12,18C13.1046,18 14,17.1046 14,16V14H16C17.1046,14 18,13.1046 18,12C18,10.8954 17.1046,10 16,10H14V8C14,6.8954 13.1046,6 12,6C10.8954,6 10,6.8954 10,8V10H8Z"
<path android:strokeColor="#ffffff" android:strokeWidth="2"/>
android:pathData="M19.468,10.571l-8.73,8.753a5.693,5.693 0,0 1,-8.066 0,5.728 5.728,0 0,1 0,-8.086l8.73,-8.752a3.795,3.795 0,0 1,5.378 0,3.818 3.818,0 0,1 0,5.39L8.04,16.63a1.898,1.898 0,0 1,-2.689 0,1.91 1.91,0 0,1 0,-2.696l8.065,-8.076"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:fillType="evenOdd"
android:strokeColor="#9E9E9E"
android:strokeLineCap="round"/>
</vector> </vector>

View file

@ -1,14 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="32dp" android:width="25dp"
android:height="32dp" android:height="25dp"
android:viewportWidth="32" android:viewportWidth="25"
android:viewportHeight="32"> android:viewportHeight="25">
<path <path
android:pathData="M5.2415,18.995L3.2268,16.7576C2.8469,16.3391 2.6614,15.7796 2.7158,15.2164C2.7702,14.6532 3.0596,14.1387 3.5127,13.799C6.0368,11.9778 8.9518,10.773 12.0235,10.2815C14.8601,9.8008 17.7666,9.9501 20.5365,10.719C23.5514,11.5274 26.332,13.0348 28.6531,15.1192C29.0664,15.5022 29.2993,16.0416 29.2949,16.6055C29.2905,17.1694 29.0492,17.706 28.6301,18.0841L26.3882,20.1028C25.6447,20.7857 24.5111,20.8127 23.7386,20.1659C22.9992,19.535 22.1907,18.99 21.3284,18.5412C20.6322,18.181 20.2102,17.4482 20.2477,16.6648L20.3438,14.863C17.5987,13.9538 14.6576,13.8027 11.8307,14.4256L11.7346,16.2273C11.6884,17.0104 11.1907,17.6959 10.46,17.9828C9.5547,18.3408 8.6926,18.8 7.8901,19.3516C7.0434,19.9224 5.9044,19.7691 5.2415,18.995Z" android:pathData="M12.5084,8.2565C10.8211,8.1916 7.3514,8.6295 6.5078,8.8513C6.4579,8.8645 6.4004,8.8791 6.3362,8.8955C5.041,9.2261 0.9827,10.2618 0.5442,13.5436C0.2045,16.0862 1.9058,16.8558 2.7562,16.7386C3.3448,16.6648 5.0301,16.3983 6.5872,16.1189C8.1163,15.8446 8.1155,14.8359 8.115,14.1538C8.115,14.1413 8.115,14.1288 8.115,14.1165L8.115,12.7453C8.115,12.3961 8.4431,12.1942 8.8958,12.1396C10.4982,11.922 11.8359,11.9213 12.5055,11.9213L12.5112,11.9213C13.1807,11.9213 14.5018,11.922 16.1042,12.1396C16.5569,12.1942 16.885,12.3961 16.885,12.7453L16.885,14.1165C16.885,14.1289 16.885,14.1413 16.885,14.1538C16.8845,14.8359 16.8837,15.8446 18.4128,16.119C19.9699,16.3983 21.6552,16.6648 22.2438,16.7386C23.0942,16.8558 24.7955,16.0862 24.4558,13.5436C24.0173,10.2618 19.959,9.2261 18.6638,8.8955C18.5996,8.8791 18.5421,8.8645 18.4922,8.8513C17.6487,8.6295 14.1956,8.1916 12.5084,8.2565Z"
android:strokeLineJoin="round" android:fillColor="#000000"/>
android:strokeWidth="2"
android:fillColor="#00000000"
android:fillType="evenOdd"
android:strokeColor="#2E2F32"
android:strokeLineCap="round"/>
</vector> </vector>

View file

@ -1,22 +1,18 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="22dp" android:width="25dp"
android:height="22dp" android:height="25dp"
android:viewportWidth="22" android:viewportWidth="25"
android:viewportHeight="22"> android:viewportHeight="25">
<path <path
android:pathData="M3.222,1L18.778,1A2.222,2.222 0,0 1,21 3.222L21,18.778A2.222,2.222 0,0 1,18.778 21L3.222,21A2.222,2.222 0,0 1,1 18.778L1,3.222A2.222,2.222 0,0 1,3.222 1z" android:pathData="M6.5,6.5L18.5,18.5"
android:strokeLineJoin="round"
android:strokeWidth="2" android:strokeWidth="2"
android:fillColor="#00000000" android:fillColor="#00000000"
android:fillType="evenOdd" android:strokeColor="#000000"
android:strokeColor="#9E9E9E"
android:strokeLineCap="round"/> android:strokeLineCap="round"/>
<path <path
android:pathData="M7.667,7.667l6.666,6.666M14.333,7.667l-6.666,6.666" android:pathData="M18.5,6.5L6.5,18.5"
android:strokeLineJoin="round"
android:strokeWidth="2" android:strokeWidth="2"
android:fillColor="#00000000" android:fillColor="#00000000"
android:fillType="evenOdd" android:strokeColor="#000000"
android:strokeColor="#9E9E9E"
android:strokeLineCap="round"/> android:strokeLineCap="round"/>
</vector> </vector>

View file

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="25dp"
android:height="24dp"
android:viewportWidth="25"
android:viewportHeight="24">
<path
android:pathData="M22.7361,9.9197C23.6693,11.1729 23.6895,12.8384 22.7728,14.1036C21.0553,16.4739 17.6416,20 12.5317,20C7.4217,20 4.008,16.4739 2.2906,14.1036C1.3738,12.8384 1.394,11.1729 2.3273,9.9197C4.0926,7.5494 7.5651,4 12.5317,4C17.4982,4 20.9708,7.5494 22.7361,9.9197ZM17.8334,12C17.8334,14.9455 15.4456,17.3333 12.5001,17.3333C9.5546,17.3333 7.1668,14.9455 7.1668,12C7.1668,9.0545 9.5546,6.6667 12.5001,6.6667C15.4456,6.6667 17.8334,9.0545 17.8334,12ZM12.5001,14.6667C13.9729,14.6667 15.1668,13.4728 15.1668,12C15.1668,10.5272 13.9729,9.3333 12.5001,9.3333C11.0274,9.3333 9.8335,10.5272 9.8335,12C9.8335,13.4728 11.0274,14.6667 12.5001,14.6667Z"
android:fillColor="#ffffff"
android:fillType="evenOdd"/>
</vector>

View file

@ -0,0 +1,7 @@
<vector android:autoMirrored="true" android:height="24dp"
android:viewportHeight="24" android:viewportWidth="24"
android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="#ffffff" android:fillType="evenOdd" android:pathData="M5.4447,6.2731C3.8736,7.4199 2.6604,8.8011 1.8273,9.9197C0.894,11.1729 0.8738,12.8384 1.7906,14.1036C3.508,16.4739 6.9217,20 12.0317,20C14.2012,20 16.065,19.3644 17.623,18.4514L15.3344,16.1628C14.4212,16.8952 13.2618,17.3333 12.0002,17.3333C9.0546,17.3333 6.6668,14.9455 6.6668,12C6.6668,10.7383 7.1049,9.5789 7.8373,8.6657L5.4447,6.2731ZM17.3119,12.4834C17.3262,12.3242 17.3335,12.163 17.3335,12C17.3335,9.0545 14.9457,6.6667 12.0002,6.6667C11.8372,6.6667 11.6759,6.674 11.5167,6.6883L9.2201,4.3917C10.0958,4.1434 11.0336,4 12.0317,4C16.9982,4 20.4708,7.5494 22.2361,9.9197C23.1693,11.1729 23.1895,12.8384 22.2728,14.1036C21.8639,14.6678 21.359,15.2975 20.758,15.9296L17.3119,12.4834ZM9.7461,10.5745C9.4848,10.9868 9.3335,11.4757 9.3335,12C9.3335,13.4728 10.5274,14.6667 12.0002,14.6667C12.5244,14.6667 13.0133,14.5154 13.4257,14.2541L9.7461,10.5745Z"/>
<path android:fillColor="#00000000" android:pathData="M1,1L23,23"
android:strokeColor="#ffffff" android:strokeLineCap="round" android:strokeWidth="2"/>
</vector>

View file

@ -1,21 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector android:autoMirrored="true" android:height="36dp"
android:width="34dp" android:viewportHeight="36" android:viewportWidth="37"
android:height="20dp" android:width="37dp" xmlns:android="http://schemas.android.com/apk/res/android">
android:viewportWidth="34" <path android:fillColor="#ffffff" android:fillType="evenOdd" android:pathData="M12.283,27.4392C17.649,27.4392 21.9991,23.0875 21.9991,17.7196C21.9991,12.3516 17.649,8 12.283,8C6.917,8 2.567,12.3516 2.567,17.7196C2.567,19.2233 2.9083,20.6472 3.5177,21.9181L2.0457,26.7041C1.8091,27.4733 2.5317,28.1926 3.2998,27.9525L8.0461,26.4688C9.3265,27.0905 10.7641,27.4392 12.283,27.4392Z"/>
android:viewportHeight="20"> <path android:fillColor="#00000000" android:pathData="M27,18H35"
<path android:strokeColor="#ffffff" android:strokeLineCap="round" android:strokeWidth="2.5"/>
android:pathData="M19,9.5a8.38,8.38 0,0 1,-0.9 3.8,8.5 8.5,0 0,1 -7.6,4.7 8.38,8.38 0,0 1,-3.8 -0.9L1,19l1.9,-5.7A8.38,8.38 0,0 1,2 9.5a8.5,8.5 0,0 1,4.7 -7.6,8.38 8.38,0 0,1 3.8,-0.9h0.5a8.48,8.48 0,0 1,8 8v0.5z" <path android:fillColor="#00000000" android:pathData="M31,14L31,22"
android:strokeLineJoin="round" android:strokeColor="#ffffff" android:strokeLineCap="round" android:strokeWidth="2.5"/>
android:strokeWidth="2"
android:fillColor="#00000000"
android:fillType="evenOdd"
android:strokeColor="#FFF"
android:strokeLineCap="round"/>
<path
android:pathData="M28.5,6v8M24.5,10h8"
android:strokeWidth="2"
android:fillColor="#00000000"
android:fillType="evenOdd"
android:strokeColor="#FFF"
android:strokeLineCap="round"/>
</vector> </vector>

View file

@ -1,21 +1,22 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="32dp" android:width="37dp"
android:height="20dp" android:height="36dp"
android:viewportWidth="32" android:viewportWidth="37"
android:viewportHeight="20"> android:viewportHeight="36">
<path <path
android:pathData="M1,7h16M1,13h16M7,1L5,19M13,1l-2,18" android:pathData="M27,18H35"
android:strokeLineJoin="round" android:strokeWidth="2.5"
android:strokeWidth="2"
android:fillColor="#00000000" android:fillColor="#00000000"
android:fillType="evenOdd" android:strokeColor="#ffffff"
android:strokeColor="#FFF"
android:strokeLineCap="round"/> android:strokeLineCap="round"/>
<path <path
android:pathData="M26.5,6v8M22.5,10h8" android:pathData="M31,14L31,22"
android:strokeWidth="2" android:strokeWidth="2.5"
android:fillColor="#00000000" android:fillColor="#00000000"
android:fillType="evenOdd" android:strokeColor="#ffffff"
android:strokeColor="#FFF"
android:strokeLineCap="round"/> android:strokeLineCap="round"/>
<path
android:pathData="M9.722,8.7395C9.8165,7.8766 9.1808,7.1019 8.3022,7.0091C7.4237,6.9163 6.6349,7.5406 6.5404,8.4035L6.1042,12.3879H3.4003C2.5166,12.3879 1.8003,13.0914 1.8003,13.9593C1.8003,14.8272 2.5166,15.5307 3.4003,15.5307H5.7601L5.2194,20.4694H2.6C1.7163,20.4694 1,21.1729 1,22.0408C1,22.9087 1.7163,23.6122 2.6,23.6122H4.8753L4.4759,27.2605C4.3814,28.1234 5.0171,28.8981 5.8956,28.9909C6.7742,29.0836 7.563,28.4593 7.6575,27.5965L8.0937,23.6122H12.8755L12.4761,27.2605C12.3816,28.1233 13.0173,28.8981 13.8958,28.9909C14.7744,29.0836 15.5632,28.4593 15.6577,27.5965L16.0939,23.6122H19.3997C20.2834,23.6122 20.9997,22.9087 20.9997,22.0408C20.9997,21.1729 20.2834,20.4694 19.3997,20.4694H16.438L16.9787,15.5307H19.4C20.2837,15.5307 21,14.8272 21,13.9593C21,13.0914 20.2837,12.3879 19.4,12.3879H17.3228L17.7222,8.7395C17.8167,7.8766 17.181,7.1019 16.3024,7.0091C15.4239,6.9163 14.635,7.5406 14.5406,8.4035L14.1044,12.3879H9.3226L9.722,8.7395ZM13.2196,20.4694L13.7603,15.5307H8.9785L8.4378,20.4694H13.2196Z"
android:fillColor="#ffffff"
android:fillType="evenOdd"/>
</vector> </vector>

View file

@ -7,14 +7,14 @@
android:pathData="M4,6.5h16" android:pathData="M4,6.5h16"
android:strokeWidth="1.8" android:strokeWidth="1.8"
android:fillColor="#00000000" android:fillColor="#00000000"
android:strokeColor="#03B381" android:strokeColor="#9E9E9E"
android:fillType="evenOdd" android:fillType="evenOdd"
android:strokeLineCap="round"/> android:strokeLineCap="round"/>
<path <path
android:pathData="M6,12.5h12M9,18.5h6" android:pathData="M6,12.5h12M9,18.5h6"
android:strokeWidth="2" android:strokeWidth="2"
android:fillColor="#00000000" android:fillColor="#00000000"
android:strokeColor="#03B381" android:strokeColor="#9E9E9E"
android:fillType="evenOdd" android:fillType="evenOdd"
android:strokeLineCap="round"/> android:strokeLineCap="round"/>
</vector> </vector>

View file

@ -1,22 +1,9 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="20dp" android:width="18dp"
android:height="22dp" android:height="22dp"
android:viewportWidth="20" android:viewportWidth="18"
android:viewportHeight="22"> android:viewportHeight="22">
<path <path
android:pathData="M1,8l9,-7 9,7v11a2,2 0,0 1,-2 2H3a2,2 0,0 1,-2 -2V8z" android:pathData="M0,18.9226V8.7056C0,8.1252 0.2521,7.5734 0.6909,7.1935L7.6909,1.1333C8.4424,0.4827 9.5576,0.4827 10.3091,1.1333L17.3091,7.1935C17.7479,7.5734 18,8.1241 18,8.7045V18.9645C18,20.6363 16.6355,21.9833 14.9638,21.9686C11.8814,21.9416 7.015,21.9124 3.0756,21.95C1.3889,21.9661 0,20.6094 0,18.9226Z"
android:strokeLineJoin="round" android:fillColor="#000000"/>
android:strokeWidth="2"
android:fillColor="#00000000"
android:fillType="evenOdd"
android:strokeColor="#7E899C"
android:strokeLineCap="round"/>
<path
android:pathData="M7,21V11h6v10"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:fillType="evenOdd"
android:strokeColor="#7E899C"
android:strokeLineCap="round"/>
</vector> </vector>

View file

@ -1,14 +1,5 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector android:autoMirrored="true" android:height="20dp"
android:width="20dp" android:viewportHeight="20" android:viewportWidth="20"
android:height="20dp" android:width="20dp" xmlns:android="http://schemas.android.com/apk/res/android">
android:viewportWidth="20" <path android:fillColor="#000000" android:fillType="evenOdd" android:pathData="M10.283,19.4392C15.649,19.4392 19.9991,15.0875 19.9991,9.7196C19.9991,4.3516 15.649,0 10.283,0C4.917,0 0.567,4.3516 0.567,9.7196C0.567,11.2233 0.9083,12.6472 1.5177,13.9181L0.0457,18.7041C-0.1909,19.4733 0.5317,20.1926 1.2998,19.9525L6.0461,18.4688C7.3266,19.0905 8.7641,19.4392 10.283,19.4392Z"/>
android:viewportHeight="20">
<path
android:pathData="M19,9.5a8.38,8.38 0,0 1,-0.9 3.8,8.5 8.5,0 0,1 -7.6,4.7 8.38,8.38 0,0 1,-3.8 -0.9L1,19l1.9,-5.7A8.38,8.38 0,0 1,2 9.5a8.5,8.5 0,0 1,4.7 -7.6,8.38 8.38,0 0,1 3.8,-0.9h0.5a8.48,8.48 0,0 1,8 8v0.5z"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:fillType="evenOdd"
android:strokeColor="#7E899C"
android:strokeLineCap="round"/>
</vector> </vector>

View file

@ -1,14 +1,5 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector android:autoMirrored="true" android:height="22dp"
android:width="18dp" android:viewportHeight="22" android:viewportWidth="22"
android:height="20dp" android:width="22dp" xmlns:android="http://schemas.android.com/apk/res/android">
android:viewportWidth="18" <path android:fillColor="#000000" android:fillType="evenOdd" android:pathData="M11,22C17.0751,22 22,17.0751 22,11C22,4.9249 17.0751,0 11,0C4.9249,0 0,4.9249 0,11C0,17.0751 4.9249,22 11,22ZM9.2253,4.5887C9.7286,4.6428 10.0928,5.0947 10.0387,5.5981L9.8098,7.7263H12.5493L12.7992,5.4021C12.8533,4.8987 13.3053,4.5346 13.8086,4.5887C14.312,4.6428 14.6762,5.0947 14.622,5.5981L14.3932,7.7263H15.5833C16.0896,7.7263 16.5,8.1367 16.5,8.643C16.5,9.1493 16.0896,9.5597 15.5833,9.5597H14.1961L13.8863,12.4406H15.5833C16.0896,12.4406 16.5,12.851 16.5,13.3573C16.5,13.8635 16.0896,14.2739 15.5833,14.2739H13.6892L13.4393,16.5981C13.3851,17.1015 12.9332,17.4656 12.4298,17.4115C11.9265,17.3574 11.5623,16.9055 11.6164,16.4021L11.8453,14.2739H9.1058L8.8559,16.5981C8.8018,17.1015 8.3498,17.4656 7.8465,17.4115C7.3431,17.3574 6.979,16.9055 7.0331,16.4021L7.2619,14.2739H5.9583C5.4521,14.2739 5.0416,13.8635 5.0416,13.3573C5.0416,12.851 5.4521,12.4406 5.9583,12.4406H7.459L7.7688,9.5597H6.4167C5.9104,9.5597 5.5,9.1493 5.5,8.643C5.5,8.1367 5.9104,7.7263 6.4167,7.7263H7.966L8.2159,5.4021C8.27,4.8987 8.7219,4.5346 9.2253,4.5887ZM12.3522,9.5597L12.0424,12.4406H9.3029L9.6127,9.5597H12.3522Z"/>
android:viewportHeight="20">
<path
android:pathData="M1,7h16M1,13h16M7,1L5,19M13,1l-2,18"
android:strokeLineJoin="round"
android:strokeWidth="2"
android:fillColor="#00000000"
android:fillType="evenOdd"
android:strokeColor="#7E899C"
android:strokeLineCap="round"/>
</vector> </vector>

View file

@ -5,6 +5,6 @@
android:viewportHeight="108"> android:viewportHeight="108">
<path <path
android:pathData="m0,0h108v108h-108z" android:pathData="m0,0h108v108h-108z"
android:fillColor="#27303a" android:fillColor="#0DBD8B"
android:fillType="evenOdd"/> android:fillType="evenOdd"/>
</vector> </vector>

View file

@ -1,22 +1,14 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="20dp" android:width="24dp"
android:height="22dp" android:height="24dp"
android:viewportWidth="20" android:viewportWidth="24"
android:viewportHeight="22"> android:viewportHeight="24">
<path <path
android:pathData="M3,10L17,10A2,2 0,0 1,19 12L19,19A2,2 0,0 1,17 21L3,21A2,2 0,0 1,1 19L1,12A2,2 0,0 1,3 10z" android:pathData="M3.0001,12.8C3.0001,11.1431 4.3432,9.8 6.0001,9.8H18.0001C19.6569,9.8 21.0001,11.1431 21.0001,12.8V19.8C21.0001,21.4569 19.6569,22.8 18.0001,22.8H6.0001C4.3432,22.8 3.0001,21.4569 3.0001,19.8V12.8Z"
android:strokeLineJoin="round" android:fillColor="#ffffff"/>
android:strokeWidth="1.5"
android:fillColor="#00000000"
android:fillType="evenOdd"
android:strokeColor="#61708B"
android:strokeLineCap="round"/>
<path <path
android:pathData="M5,10L5,6a5,5 0,1 1,10 0v4" android:pathData="M7,6.5C7,4.2909 8.7909,2.5 11,2.5H13C15.2091,2.5 17,4.2909 17,6.5V11.5C17,13.7091 15.2091,15.5 13,15.5H11C8.7909,15.5 7,13.7091 7,11.5V6.5Z"
android:strokeLineJoin="round" android:strokeWidth="3"
android:strokeWidth="1.5"
android:fillColor="#00000000" android:fillColor="#00000000"
android:fillType="evenOdd" android:strokeColor="#ffffff"/>
android:strokeColor="#61708B"
android:strokeLineCap="round"/>
</vector> </vector>

View file

@ -1,14 +1,5 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector android:autoMirrored="true" android:height="24dp"
android:width="20dp" android:viewportHeight="24" android:viewportWidth="24"
android:height="20dp" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
android:viewportWidth="20" <path android:fillColor="#ffffff" android:fillType="evenOdd" android:pathData="M12.283,21.4392C17.649,21.4392 21.9991,17.0875 21.9991,11.7196C21.9991,6.3516 17.649,2 12.283,2C6.917,2 2.567,6.3516 2.567,11.7196C2.567,13.2233 2.9083,14.6472 3.5177,15.9181L2.0457,20.7041C1.8091,21.4733 2.5317,22.1926 3.2998,21.9525L8.0461,20.4688C9.3265,21.0905 10.7641,21.4392 12.283,21.4392Z"/>
android:viewportHeight="20">
<path
android:pathData="M19,9.5a8.38,8.38 0,0 1,-0.9 3.8,8.5 8.5,0 0,1 -7.6,4.7 8.38,8.38 0,0 1,-3.8 -0.9L1,19l1.9,-5.7A8.38,8.38 0,0 1,2 9.5a8.5,8.5 0,0 1,4.7 -7.6,8.38 8.38,0 0,1 3.8,-0.9h0.5a8.48,8.48 0,0 1,8 8v0.5z"
android:strokeLineJoin="round"
android:strokeWidth="1.5"
android:fillColor="#00000000"
android:fillType="evenOdd"
android:strokeColor="#61708B"
android:strokeLineCap="round"/>
</vector> </vector>

View file

@ -1,14 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android" <vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp" android:width="24dp"
android:height="20dp" android:height="24dp"
android:viewportWidth="24" android:viewportWidth="24"
android:viewportHeight="20"> android:viewportHeight="24">
<path <path
android:pathData="M4,19v-7M4,8V1M12,19v-9M12,6V1M20,19v-5M20,10V1M1,12h6M9,6h6M17,14h6" android:pathData="M8,4C3.5817,4 0,7.5817 0,12C0,16.4183 3.5817,20 8,20H16C20.4183,20 24,16.4183 24,12C24,7.5817 20.4183,4 16,4H8ZM13,12C13,14.7614 10.7614,17 8,17C5.2386,17 3,14.7614 3,12C3,9.2386 5.2386,7 8,7C10.7614,7 13,9.2386 13,12Z"
android:strokeLineJoin="round" android:fillColor="#ffffff"
android:strokeWidth="1.5" android:fillType="evenOdd"/>
android:fillColor="#00000000"
android:fillType="evenOdd"
android:strokeColor="#61708B"
android:strokeLineCap="round"/>
</vector> </vector>

File diff suppressed because one or more lines are too long

View file

@ -1,34 +0,0 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="83dp"
android:height="14dp"
android:viewportWidth="83"
android:viewportHeight="14">
<path
android:pathData="M21.722,11.239V4.628h1.93v0.739c0.355,-0.584 1.182,-0.973 1.93,-0.973 0.946,0 1.655,0.39 1.97,1.05 0.513,-0.738 1.182,-1.05 2.088,-1.05 1.26,0 2.482,0.74 2.482,2.528V11.2h-1.97V7.389c0,-0.622 -0.354,-1.128 -1.063,-1.128 -0.71,0 -1.103,0.545 -1.103,1.128V11.2h-2.01V7.389c0,-0.622 -0.354,-1.128 -1.063,-1.128s-1.103,0.545 -1.103,1.128V11.2h-2.088v0.039z"
android:fillColor="#2E2F32"
android:fillType="evenOdd"/>
<path
android:pathData="M41.459,7.933c0,2.061 -1.537,3.5 -3.546,3.5 -1.97,0 -3.545,-1.477 -3.545,-3.5 0,-2.06 1.575,-3.5 3.545,-3.5 2.01,0 3.546,1.478 3.546,3.5m-2.049,0c0,-1.127 -0.709,-1.633 -1.497,-1.633 -0.748,0 -1.497,0.506 -1.497,1.633 0,1.09 0.749,1.634 1.497,1.634 0.788,0.039 1.497,-0.506 1.497,-1.634"
android:fillColor="#2E2F32"
android:fillType="nonZero"/>
<path
android:pathData="M57.807,10.578c-0.354,0.583 -1.103,0.816 -1.773,0.816 -1.615,0 -2.52,-1.166 -2.52,-2.566V4.667h2.048V8.4c0,0.622 0.354,1.128 1.063,1.128 0.67,0 1.103,-0.467 1.103,-1.128V4.667h2.049v5.405c0,0.584 0.04,1.09 0.079,1.167h-1.97c-0.04,-0.117 -0.079,-0.467 -0.079,-0.661"
android:fillColor="#2E2F32"
android:fillType="evenOdd"/>
<path
android:pathData="M72.068,10.383c-0.315,0.623 -0.985,1.05 -1.812,1.05 -1.97,0 -3.31,-1.477 -3.31,-3.5 0,-1.944 1.261,-3.46 3.27,-3.46 1.182,0 1.734,0.66 1.852,0.971v-0.777h1.97v5.405c0,0.622 0.039,1.05 0.039,1.167h-1.97c-0.04,-0.156 -0.04,-0.506 -0.04,-0.778v-0.078zM70.531,9.683c0.828,0 1.537,-0.622 1.537,-1.75 0,-1.127 -0.67,-1.75 -1.537,-1.75 -0.866,0 -1.536,0.584 -1.536,1.75 0,1.09 0.71,1.75 1.536,1.75zM80.97,4.55c0.75,0 1.34,0.583 1.34,1.322 0,0.74 -0.59,1.284 -1.34,1.284 -0.748,0 -1.3,-0.584 -1.3,-1.284 0,-0.778 0.552,-1.322 1.3,-1.322zM78.922,11.239h-2.048L76.874,4.628h2.048v6.61z"
android:fillColor="#2E2F32"
android:fillType="nonZero"/>
<path
android:pathData="M62.573,2.644h2.048v8.633h-2.048z"
android:fillColor="#2E2F32"
android:fillType="evenOdd"/>
<path
android:pathData="M50.716,2.644h-2.009v2.528c-0.158,-0.233 -0.67,-0.66 -1.812,-0.66 -1.891,0 -3.23,1.477 -3.23,3.421 0,2.023 1.418,3.461 3.309,3.461 0.788,0 1.497,-0.35 1.772,-0.777 0,0.272 0.04,0.544 0.04,0.622h1.97c0,-0.156 -0.04,-0.583 -0.04,-1.167V2.644zM47.21,9.606c-0.788,0 -1.497,-0.545 -1.497,-1.634s0.71,-1.633 1.497,-1.633c0.788,0 1.497,0.544 1.497,1.633 0,1.05 -0.709,1.634 -1.497,1.634z"
android:fillColor="#2E2F32"
android:fillType="nonZero"/>
<path
android:pathData="M16.374,1.233L14.346,0.09l-2.028,1.142 -0.016,11.534 2.044,1.157 2.028,-1.141zM4.189,7L2.145,5.859 0.117,7v5.767l2.044,1.157 2.028,-1.157zM8.245,8.157l3.035,-1.72V4.124L9.252,2.983l-1.007,0.593 -4.072,-2.328L2.145,0.09 0.117,1.248v2.298l8.128,4.61"
android:fillColor="#2E2F32"
android:fillType="evenOdd"/>
</vector>

Some files were not shown because too many files have changed in this diff Show more