Unverified Commit 8e10d07a authored by Filipe de Lima Brito's avatar Filipe de Lima Brito Committed by GitHub

Merge pull request #547 from filipedelimabrito/layout/authentication-screens

[V2][LAYOUT] Authentication screens.
parents f57f4e6e 7424ade8
......@@ -11,6 +11,20 @@
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme" />
android:theme="@style/AppTheme">
<activity
android:name=".app.AuthenticationActivity"
android:configChanges="orientation"
android:screenOrientation="portrait"
android:theme="@style/AuthenticationTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
\ No newline at end of file
package chat.rocket.android.app
import android.app.Activity
import android.app.Fragment
import android.os.Bundle
import chat.rocket.android.R
/**
* @author Filipe de Lima Brito (filipedelimabrito@gmail.com)
*/
class AuthenticationActivity : Activity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_authentication)
LayoutHelper.androidBug5497Workaround(this)
addFragment(AuthenticationLoginFragment(), "authenticationServerFragment")
}
private fun addFragment(fragment: Fragment, tag: String) {
fragmentManager.beginTransaction().add(R.id.fragment_container, fragment, tag).commit()
}
}
\ No newline at end of file
package chat.rocket.android.app
import DrawableHelper
import android.app.Fragment
import android.content.res.Configuration
import android.os.Build
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.view.WindowManager
import android.widget.ScrollView
import chat.rocket.android.R
import kotlinx.android.synthetic.main.fragment_authentication_log_in.*
/**
* @author Filipe de Lima Brito (filipedelimabrito@gmail.com)
*/
class AuthenticationLoginFragment : Fragment() {
override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? = inflater?.inflate(R.layout.fragment_authentication_log_in, container, false)
override fun onViewCreated(view: View?, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
activity.window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN)
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
tintEditTextDrawableStart()
}
// Just an example: if the server allow the login via social accounts (oauth authentication) then show the respective interface.
shouldShowOauthView(true)
// In this case we need to setup the text_username_or_email and text_password EditText to hide and show the oauth interface when the user touch the respective fields.
setupEditTextListener()
// Show the first three social account's ImageButton (REMARK: we must show at maximum *three* views)
showLoginUsingFacebookImagebutton()
showLoginUsingGithubImagebutton()
showLoginUsingGoogleImagebutton()
// Setup the FloatingActionButton to show more social account's ImageButton (it expands the social accounts interface to show more views).
setupFabListener()
// Just an example: if the server allow the new users registration then show the respective interface.
shouldShowSignUpMsgView(true)
}
override fun onConfigurationChanged(newConfig: Configuration?) {
super.onConfigurationChanged(newConfig)
if (KeyboardHelper.isHardKeyboardShown(newConfig)) {
shouldShowOauthView(false)
shouldShowSignUpMsgView(false)
shouldShowLoginButton(true)
} else {
if (isEditTextNullOrBlank()) {
shouldShowOauthView(true)
shouldShowSignUpMsgView(true)
shouldShowLoginButton(false)
}
}
}
private fun tintEditTextDrawableStart() {
val context = activity.applicationContext
val personDrawable = DrawableHelper.getDrawableFromId(R.drawable.ic_assignment_ind_black_24dp, context)
val lockDrawable = DrawableHelper.getDrawableFromId(R.drawable.ic_lock_black_24dp, context)
val drawables = arrayOf(personDrawable, lockDrawable)
DrawableHelper.wrapDrawables(drawables)
DrawableHelper.tintDrawables(drawables, context, R.color.colorDrawableTintGrey)
DrawableHelper.compoundDrawables(arrayOf(text_username_or_email, text_password), drawables)
}
private fun setupEditTextListener() {
text_username_or_email.viewTreeObserver.addOnGlobalLayoutListener({
if (KeyboardHelper.isSoftKeyboardShown(text_username_or_email.rootView)) {
shouldShowOauthView(false)
shouldShowSignUpMsgView(false)
shouldShowLoginButton(true)
} else {
if (isEditTextNullOrBlank()) {
shouldShowOauthView(true)
shouldShowSignUpMsgView(true)
shouldShowLoginButton(false)
}
}
})
text_password.viewTreeObserver.addOnGlobalLayoutListener({
if (KeyboardHelper.isSoftKeyboardShown(text_password.rootView)) {
shouldShowOauthView(false)
shouldShowSignUpMsgView(false)
shouldShowLoginButton(true)
} else {
if (isEditTextNullOrBlank()) {
shouldShowOauthView(true)
shouldShowSignUpMsgView(true)
shouldShowLoginButton(false)
}
}
})
}
private fun shouldShowOauthView(show: Boolean) {
if (show) {
social_accounts_container.visibility = View.VISIBLE
button_fab.visibility = View.VISIBLE
} else {
social_accounts_container.visibility = View.GONE
button_fab.visibility = View.GONE
}
}
private fun shouldShowSignUpMsgView(show: Boolean) {
if (show) {
text_new_to_rocket_chat.visibility = View.VISIBLE
} else {
text_new_to_rocket_chat.visibility = View.GONE
}
}
private fun shouldShowLoginButton(show: Boolean) {
if (show) {
button_log_in.visibility = View.VISIBLE
} else {
button_log_in.visibility = View.GONE
}
}
private fun showLoginUsingFacebookImagebutton() {
button_facebook.visibility = View.VISIBLE
}
private fun showLoginUsingGithubImagebutton() {
button_github.visibility = View.VISIBLE
}
private fun showLoginUsingGoogleImagebutton() {
button_google.visibility = View.VISIBLE
}
private fun showLoginUsingLinkedinImagebutton() {
button_linkedin.visibility = View.VISIBLE
}
private fun showLoginUsingMeteorImagebutton() {
button_meteor.visibility = View.VISIBLE
}
private fun showLoginUsingTwitterImagebutton() {
button_twitter.visibility = View.VISIBLE
}
private fun showLoginUsingGitlabImagebutton() {
button_gitlab.visibility = View.VISIBLE
}
private fun setupFabListener() {
button_fab.setOnClickListener({
showLoginUsingLinkedinImagebutton()
showLoginUsingMeteorImagebutton()
showLoginUsingTwitterImagebutton()
showLoginUsingGitlabImagebutton()
scrollToBottom()
hideFab()
})
}
// Returns true if *all* EditText are null or blank.
private fun isEditTextNullOrBlank(): Boolean {
return text_username_or_email.text.isNullOrBlank() && text_password.text.isNullOrBlank()
}
private fun scrollToBottom() {
scroll_view.postDelayed({ scroll_view.fullScroll(ScrollView.FOCUS_DOWN); }, 1000)
}
private fun hideFab() {
button_fab.postDelayed({button_fab.hide() }, 1500)
}
}
\ No newline at end of file
package chat.rocket.android.app
import android.app.Fragment
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.view.WindowManager
import chat.rocket.android.R
import kotlinx.android.synthetic.main.fragment_authentication_server.*
/**
* @author Filipe de Lima Brito (filipedelimabrito@gmail.com)
*/
class AuthenticationServerFragment : Fragment() {
override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? = inflater?.inflate(R.layout.fragment_authentication_server, container, false)
override fun onViewCreated(view: View?, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
text_server_url.setSelection(text_server_url.length())
activity.window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE)
}
}
\ No newline at end of file
package chat.rocket.android.app
import DrawableHelper
import android.app.Fragment
import android.os.Build
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.view.WindowManager
import chat.rocket.android.R
import kotlinx.android.synthetic.main.fragment_authentication_sign_up.*
/**
* @author Filipe de Lima Brito (filipedelimabrito@gmail.com)
*/
class AuthenticationSignUpFragment : Fragment() {
override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? = inflater?.inflate(R.layout.fragment_authentication_sign_up, container, false)
override fun onViewCreated(view: View?, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
activity.window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE)
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
tintEditTextDrawableStart()
}
}
private fun tintEditTextDrawableStart() {
val context = activity.applicationContext
val personDrawable = DrawableHelper.getDrawableFromId(R.drawable.ic_person_black_24dp, context)
val atDrawable = DrawableHelper.getDrawableFromId(R.drawable.ic_at_black_24dp, context)
val lockDrawable = DrawableHelper.getDrawableFromId(R.drawable.ic_lock_black_24dp, context)
val emailDrawable = DrawableHelper.getDrawableFromId(R.drawable.ic_email_black_24dp, context)
val drawables = arrayOf(personDrawable, atDrawable, lockDrawable, emailDrawable)
DrawableHelper.wrapDrawables(drawables)
DrawableHelper.tintDrawables(drawables, context, R.color.colorDrawableTintGrey)
DrawableHelper.compoundDrawables(arrayOf(text_name, text_username, text_password, text_email), drawables)
}
}
\ No newline at end of file
package chat.rocket.android.app
import DrawableHelper
import android.app.Fragment
import android.os.Build
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.view.WindowManager
import chat.rocket.android.R
import kotlinx.android.synthetic.main.fragment_authentication_two_fa.*
/**
* @author Filipe de Lima Brito (filipedelimabrito@gmail.com)
*/
class AuthenticationTwoFAFragment : Fragment() {
override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? = inflater?.inflate(R.layout.fragment_authentication_two_fa, container, false)
override fun onViewCreated(view: View?, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
activity.window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE)
if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) {
tintEditTextDrawableStart()
}
}
private fun tintEditTextDrawableStart() {
val context = activity.applicationContext
val lockDrawable = DrawableHelper.getDrawableFromId(R.drawable.ic_vpn_key_black_24dp, context)
DrawableHelper.wrapDrawable(lockDrawable)
DrawableHelper.tintDrawable(lockDrawable, context, R.color.colorDrawableTintGrey)
DrawableHelper.compoundDrawable(text_two_factor_auth, lockDrawable)
}
}
\ No newline at end of file
import android.content.Context
import android.graphics.drawable.Drawable
import android.support.v4.content.ContextCompat
import android.support.v4.graphics.drawable.DrawableCompat
import android.widget.EditText
/**
* @author Filipe de Lima Brito (filipedelimabrito@gmail.com)
*/
object DrawableHelper {
/**
* Returns a Drawable from its ID.
*
* @param id The drawable ID.
* @param context The context.
* @return A drawable.
*/
fun getDrawableFromId(id: Int, context: Context): Drawable = context.resources.getDrawable(id, null)
/**
* Wraps an array of Drawable to be used for example for tinting.
*
* @param drawables The array of Drawable to wrap.
* @see wrapDrawable
* @see tintDrawables
*/
fun wrapDrawables(drawables: Array<Drawable>) {
for (drawable in drawables) {
DrawableCompat.wrap(drawable)
}
}
/**
* Wraps the Drawable to be used for example for tinting.
*
* @param drawable The Drawable to wrap.
* @see wrapDrawables
* @see tintDrawable
*/
fun wrapDrawable(drawable: Drawable) = DrawableCompat.wrap(drawable)
/**
* Tints an array of Drawable.
*
* REMARK: you MUST always wrap the array of Drawable before tint it.
*
* @param drawables The array of Drawable to tint.
* @param context The context.
* @param resId The resource id color to tint the Drawables.
* @see tintDrawable
* @see wrapDrawables
*/
fun tintDrawables(drawables: Array<Drawable>, context: Context, resId: Int) {
for (drawable in drawables) {
DrawableCompat.setTint(drawable, ContextCompat.getColor(context, resId))
}
}
/**
* Tints a Drawable.
*
* REMARK: you MUST always wrap the Drawable before tint it.
*
* @param drawable The Drawable to tint.
* @param context The context.
* @param resId The resource id color to tint the Drawable.
* @see tintDrawables
* @see wrapDrawable
*/
fun tintDrawable(drawable: Drawable, context: Context, resId: Int) = DrawableCompat.setTint(drawable, ContextCompat.getColor(context, resId))
/**
* Compounds an array of Drawable (to appear to the left of the text) into an array of EditText.
*
* REMARK: the number of elements in both array of Drawable and EditText MUST be equal.
*
* @param editTexts The array of EditText.
* @param drawables The array of Drawable.
* @see compoundDrawable
*/
fun compoundDrawables(editTexts: Array<EditText>, drawables: Array<Drawable>) {
if (editTexts.size != drawables.size) {
return
} else {
for (i in editTexts.indices) {
editTexts[i].setCompoundDrawablesWithIntrinsicBounds(drawables[i], null, null, null)
}
}
}
/**
* Compounds a Drawable (to appear to the left of the text) into an EditText.
*
* @param editText The EditText.
* @param drawable The Drawable.
* @see compoundDrawables
*/
fun compoundDrawable(editText: EditText, drawable: Drawable) = editText.setCompoundDrawablesWithIntrinsicBounds(drawable, null, null, null)
}
\ No newline at end of file
package chat.rocket.android.app
import android.content.res.Configuration
import android.graphics.Rect
import android.view.View
/**
* @author Filipe de Lima Brito (filipedelimabrito@gmail.com)
*/
object KeyboardHelper {
/**
* Returns true if the soft keyboard is shown, false otherwise.
*
* @param rootView The rootView of a view (e.g. an EditText).
* @return true if the soft keyboard is shown, false otherwise.
*/
fun isSoftKeyboardShown(rootView: View): Boolean {
val softKeyboardHeight = 100
val rect = Rect()
rootView.getWindowVisibleDisplayFrame(rect)
val dm = rootView.resources.displayMetrics
val heightDiff = rootView.bottom - rect.bottom
return heightDiff > softKeyboardHeight * dm.density
}
/**
* Returns true if the hard keyboard is shown, false otherwise.
*
* @param newConfig The configuration.
* @return true if the hard keyboard is shown, false otherwise.
*/
fun isHardKeyboardShown(newConfig: Configuration?): Boolean {
if (newConfig?.hardKeyboardHidden == Configuration.HARDKEYBOARDHIDDEN_NO) {
return true
}
return false
}
}
\ No newline at end of file
package chat.rocket.android.app
import android.app.Activity
import android.graphics.Rect
import android.util.Log
import android.view.View
import android.widget.FrameLayout
/**
* @author Filipe de Lima Brito (filipedelimabrito@gmail.com)
*/
//TODO: check if this code has memory leak.
object LayoutHelper {
private lateinit var childOfContent: View
private var usableHeightPrevious: Int = 0
private lateinit var frameLayoutParams: FrameLayout.LayoutParams
/**
* Workaround to adjust the layout when in the full screen mode.
*
* The original author of this code is Joseph Johnson and you can see his answer here: https://stackoverflow.com/a/19494006/4744263
*
* Note that this function has some differences from the original, like using *frameLayoutParams.height = usableHeightNow* instead of
* *frameLayoutParams.height = usableHeightSansKeyboard* (RobertoAllende's comment - from the same link above).
*
* @param activity The Activity to adjust the layout.
*/
fun androidBug5497Workaround(activity: Activity) {
try {
val content = activity.findViewById<View>(android.R.id.content) as FrameLayout
childOfContent = content.getChildAt(0)
childOfContent.viewTreeObserver.addOnGlobalLayoutListener({ resizeChildOfContent() })
frameLayoutParams = childOfContent.layoutParams as FrameLayout.LayoutParams
} catch (exception : ClassCastException) {
// TODO: are we using the android.util.Log for logging that type of errors?
Log.e("ERROR", exception.message)
}
}
private fun resizeChildOfContent() {
val usableHeightNow = computeUsableHeight()
if (usableHeightNow != usableHeightPrevious) {
val usableHeightSansKeyboard = childOfContent.rootView.height
val heightDifference = usableHeightSansKeyboard - usableHeightNow
if (heightDifference > usableHeightSansKeyboard / 4) {
// keyboard probably just became visible
frameLayoutParams.height = usableHeightSansKeyboard - heightDifference
} else {
// keyboard probably just became hidden
frameLayoutParams.height = usableHeightNow
}
childOfContent.requestLayout()
usableHeightPrevious = usableHeightNow
}
}
private fun computeUsableHeight(): Int {
val rect = Rect()
childOfContent.getWindowVisibleDisplayFrame(rect)
return rect.bottom - rect.top
}
}
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/colorPrimary">
<item
android:id="@android:id/background"
android:drawable="@color/colorAccent" />
</ripple>
\ No newline at end of file
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M19,3h-4.18C14.4,1.84 13.3,1 12,1c-1.3,0 -2.4,0.84 -2.82,2L5,3c-1.1,0 -2,0.9 -2,2v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2L21,5c0,-1.1 -0.9,-2 -2,-2zM12,3c0.55,0 1,0.45 1,1s-0.45,1 -1,1 -1,-0.45 -1,-1 0.45,-1 1,-1zM12,7c1.66,0 3,1.34 3,3s-1.34,3 -3,3 -3,-1.34 -3,-3 1.34,-3 3,-3zM18,19L6,19v-1.4c0,-2 4,-3.1 6,-3.1s6,1.1 6,3.1L18,19z" />
</vector>
\ No newline at end of file
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M23.983,11.3C23.877,13.492 23.269,15.232 22.159,16.52C21.049,17.808 19.556,18.453 17.682,18.453C16.855,18.453 16.142,18.294 15.541,17.978C14.94,17.661 14.486,17.207 14.179,16.616C13.217,17.815 11.963,18.414 10.415,18.414C9.012,18.414 7.926,17.888 7.157,16.835C6.388,15.782 6.1,14.391 6.292,12.661C6.465,11.249 6.866,9.993 7.496,8.892C8.125,7.792 8.921,6.947 9.882,6.356C10.843,5.766 11.881,5.47 12.996,5.47C14.371,5.47 15.543,5.753 16.514,6.318L17.423,6.87L16.687,14.292C16.591,14.968 16.675,15.486 16.94,15.846C17.204,16.205 17.624,16.385 18.201,16.385C19.085,16.385 19.826,15.925 20.421,15.005C21.017,14.085 21.344,12.88 21.402,11.39C21.565,8.402 20.89,6.106 19.376,4.501C17.862,2.896 15.62,2.093 12.65,2.093C10.795,2.093 9.142,2.513 7.69,3.352C6.239,4.19 5.095,5.383 4.259,6.928C3.423,8.473 2.952,10.243 2.846,12.238C2.692,15.268 3.375,17.612 4.893,19.268C6.412,20.925 8.685,21.753 11.713,21.753C12.511,21.753 13.347,21.674 14.222,21.515C15.096,21.357 15.851,21.145 16.485,20.88L17.033,22.857C16.447,23.2 15.656,23.476 14.662,23.685C13.667,23.895 12.665,24 11.655,24C9.118,24 6.955,23.544 5.167,22.632C3.379,21.721 2.046,20.377 1.166,18.6C0.287,16.824 -0.095,14.703 0.02,12.238C0.135,9.875 0.741,7.756 1.837,5.881C2.932,4.006 4.425,2.558 6.314,1.535C8.202,0.511 10.334,0 12.708,0C15.12,0 17.197,0.46 18.936,1.38C20.676,2.301 21.979,3.617 22.844,5.329C23.709,7.041 24.088,9.032 23.983,11.3ZM9.493,12.661C9.387,13.791 9.497,14.65 9.824,15.236C10.151,15.822 10.68,16.116 11.41,16.116C11.881,16.116 12.328,15.932 12.751,15.563C13.174,15.195 13.525,14.665 13.804,13.971L14.409,7.897C14.034,7.786 13.65,7.73 13.256,7.73C12.15,7.73 11.293,8.15 10.682,8.989C10.072,9.828 9.675,11.052 9.493,12.661Z" />
</vector>
\ No newline at end of file
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M20,4L4,4c-1.1,0 -1.99,0.9 -1.99,2L2,18c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2zM20,8l-8,5 -8,-5L4,6l8,5 8,-5v2z" />
</vector>
\ No newline at end of file
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M16.59,8.59L12,13.17 7.41,8.59 6,10l6,6 6,-6z" />
</vector>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="290dp"
android:height="40dp"
android:viewportHeight="40.0"
android:viewportWidth="290.0">
<path
android:fillColor="#2C5C9B"
android:fillType="evenOdd"
android:pathData="M2,0L288,0A2,2 0,0 1,290 2L290,38A2,2 0,0 1,288 40L2,40A2,2 0,0 1,0 38L0,2A2,2 0,0 1,2 0z"
android:strokeColor="#00000000"
android:strokeWidth="1" />
<path
android:fillColor="#FFFFFF"
android:fillType="evenOdd"
android:pathData="M122.76,21.33L117.61,21.33L117.61,26.75L115.38,26.75L115.38,13.95L123.51,13.95L123.51,15.75L117.61,15.75L117.61,19.55L122.76,19.55L122.76,21.33ZM132.25,26.75C132.15,26.57 132.07,26.27 132,25.86C131.32,26.57 130.49,26.93 129.51,26.93C128.55,26.93 127.77,26.65 127.17,26.11C126.56,25.56 126.26,24.89 126.26,24.09C126.26,23.07 126.64,22.3 127.39,21.75C128.15,21.21 129.22,20.94 130.62,20.94L131.93,20.94L131.93,20.32C131.93,19.82 131.79,19.43 131.52,19.13C131.24,18.84 130.82,18.69 130.26,18.69C129.78,18.69 129.38,18.81 129.07,19.06C128.76,19.3 128.6,19.61 128.6,19.98L126.47,19.98C126.47,19.46 126.64,18.97 126.98,18.52C127.33,18.06 127.8,17.71 128.39,17.45C128.99,17.19 129.65,17.06 130.39,17.06C131.5,17.06 132.39,17.34 133.05,17.9C133.71,18.46 134.05,19.25 134.07,20.26L134.07,24.55C134.07,25.41 134.19,26.09 134.43,26.6L134.43,26.75L132.25,26.75ZM129.9,25.21C130.32,25.21 130.72,25.11 131.09,24.9C131.46,24.7 131.74,24.42 131.93,24.08L131.93,22.29L130.78,22.29C129.99,22.29 129.39,22.42 129,22.7C128.6,22.97 128.4,23.36 128.4,23.87C128.4,24.28 128.54,24.6 128.81,24.85C129.08,25.09 129.44,25.21 129.9,25.21ZM142.01,25.22C142.54,25.22 142.99,25.07 143.34,24.75C143.69,24.44 143.88,24.06 143.9,23.6L145.91,23.6C145.89,24.2 145.71,24.75 145.36,25.26C145.01,25.77 144.55,26.18 143.95,26.48C143.36,26.78 142.72,26.93 142.04,26.93C140.71,26.93 139.65,26.5 138.87,25.63C138.09,24.77 137.7,23.58 137.7,22.07L137.7,21.85C137.7,20.4 138.09,19.24 138.86,18.37C139.64,17.5 140.69,17.06 142.03,17.06C143.16,17.06 144.08,17.39 144.79,18.05C145.5,18.71 145.88,19.58 145.91,20.65L143.9,20.65C143.88,20.11 143.69,19.66 143.34,19.31C142.99,18.95 142.55,18.78 142.01,18.78C141.32,18.78 140.79,19.03 140.41,19.53C140.04,20.03 139.85,20.79 139.84,21.81L139.84,22.15C139.84,23.18 140.03,23.95 140.4,24.46C140.77,24.97 141.31,25.22 142.01,25.22ZM153.51,26.93C152.16,26.93 151.06,26.5 150.22,25.65C149.38,24.79 148.96,23.66 148.96,22.24L148.96,21.98C148.96,21.03 149.14,20.18 149.51,19.43C149.88,18.69 150.39,18.1 151.05,17.69C151.72,17.27 152.45,17.06 153.27,17.06C154.56,17.06 155.56,17.48 156.27,18.3C156.98,19.13 157.33,20.3 157.33,21.81L157.33,22.67L151.12,22.67C151.18,23.46 151.44,24.08 151.9,24.54C152.36,24.99 152.94,25.22 153.64,25.22C154.62,25.22 155.41,24.83 156.03,24.03L157.18,25.13C156.8,25.7 156.29,26.14 155.65,26.46C155.02,26.77 154.31,26.93 153.51,26.93ZM153.26,18.78C152.67,18.78 152.2,18.98 151.84,19.39C151.48,19.8 151.25,20.37 151.15,21.11L155.22,21.11L155.22,20.95C155.17,20.23 154.98,19.69 154.65,19.33C154.31,18.96 153.85,18.78 153.26,18.78ZM169.13,22.09C169.13,23.57 168.8,24.74 168.14,25.62C167.48,26.49 166.58,26.93 165.42,26.93C164.31,26.93 163.44,26.52 162.82,25.72L162.71,26.75L160.78,26.75L160.78,13.25L162.92,13.25L162.92,18.15C163.53,17.43 164.36,17.06 165.4,17.06C166.56,17.06 167.48,17.5 168.14,18.36C168.8,19.22 169.13,20.42 169.13,21.97L169.13,22.09ZM167,21.91C167,20.88 166.81,20.1 166.45,19.59C166.09,19.07 165.56,18.81 164.87,18.81C163.94,18.81 163.29,19.22 162.92,20.03L162.92,23.95C163.3,24.77 163.95,25.19 164.89,25.19C165.55,25.19 166.07,24.94 166.43,24.44C166.8,23.94 166.98,23.19 167,22.18L167,21.91ZM172.32,21.91C172.32,20.98 172.5,20.14 172.87,19.39C173.24,18.64 173.76,18.07 174.43,17.67C175.1,17.27 175.86,17.06 176.73,17.06C178.01,17.06 179.06,17.48 179.86,18.3C180.66,19.13 181.09,20.23 181.15,21.59L181.16,22.09C181.16,23.03 180.98,23.87 180.62,24.61C180.26,25.34 179.74,25.92 179.07,26.32C178.4,26.72 177.63,26.93 176.75,26.93C175.41,26.93 174.33,26.48 173.53,25.59C172.72,24.69 172.32,23.5 172.32,22.01L172.32,21.91ZM174.46,22.09C174.46,23.07 174.66,23.84 175.06,24.39C175.47,24.94 176.03,25.22 176.75,25.22C177.47,25.22 178.03,24.94 178.43,24.38C178.83,23.81 179.03,22.99 179.03,21.91C179.03,20.95 178.83,20.18 178.41,19.62C178,19.06 177.44,18.78 176.73,18.78C176.03,18.78 175.48,19.06 175.07,19.61C174.66,20.16 174.46,20.99 174.46,22.09ZM184.37,21.91C184.37,20.98 184.55,20.14 184.92,19.39C185.29,18.64 185.81,18.07 186.48,17.67C187.14,17.27 187.91,17.06 188.78,17.06C190.06,17.06 191.1,17.48 191.9,18.3C192.7,19.13 193.14,20.23 193.2,21.59L193.21,22.09C193.21,23.03 193.03,23.87 192.67,24.61C192.31,25.34 191.79,25.92 191.12,26.32C190.45,26.72 189.68,26.93 188.8,26.93C187.46,26.93 186.38,26.48 185.58,25.59C184.77,24.69 184.37,23.5 184.37,22.01L184.37,21.91ZM186.5,22.09C186.5,23.07 186.71,23.84 187.11,24.39C187.51,24.94 188.08,25.22 188.8,25.22C189.52,25.22 190.08,24.94 190.48,24.38C190.88,23.81 191.08,22.99 191.08,21.91C191.08,20.95 190.88,20.18 190.46,19.62C190.05,19.06 189.49,18.78 188.78,18.78C188.08,18.78 187.53,19.06 187.12,19.61C186.71,20.16 186.5,20.99 186.5,22.09ZM199.9,22.67L198.96,23.65L198.96,26.75L196.82,26.75L196.82,13.25L198.96,13.25L198.96,21.04L199.62,20.2L202.25,17.24L204.82,17.24L201.28,21.2L205.2,26.75L202.73,26.75L199.9,22.67Z"
android:strokeColor="#00000000"
android:strokeWidth="1" />
<path
android:fillColor="#FFFFFF"
android:fillType="evenOdd"
android:pathData="M93.5,20.25m-10,0a10,10 0,1 1,20 0a10,10 0,1 1,-20 0"
android:strokeColor="#00000000"
android:strokeWidth="1" />
<path
android:fillColor="#2C5C9B"
android:fillType="nonZero"
android:pathData="M91.68,16.03C91.68,16.38 91.68,17.93 91.68,17.93L90.29,17.93L90.29,20.25L91.68,20.25L91.68,27.13L94.53,27.13L94.53,20.25L96.44,20.25C96.44,20.25 96.62,19.13 96.71,17.92C96.46,17.92 94.54,17.92 94.54,17.92C94.54,17.92 94.54,16.57 94.54,16.34C94.54,16.1 94.85,15.78 95.16,15.78C95.47,15.78 96.11,15.78 96.71,15.78C96.71,15.46 96.71,14.37 96.71,13.37C95.91,13.37 95,13.37 94.6,13.37C91.61,13.37 91.68,15.69 91.68,16.03Z"
android:strokeColor="#00000000"
android:strokeWidth="1" />
</vector>
\ No newline at end of file
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="290dp"
android:height="40dp"
android:viewportHeight="40.0"
android:viewportWidth="290.0">
<path
android:fillColor="#4C4C4C"
android:fillType="evenOdd"
android:pathData="M2,0L288,0A2,2 0,0 1,290 2L290,38A2,2 0,0 1,288 40L2,40A2,2 0,0 1,0 38L0,2A2,2 0,0 1,2 0z"
android:strokeColor="#00000000"
android:strokeWidth="1" />
<path
android:fillColor="#FFFFFF"
android:fillType="evenOdd"
android:pathData="M139.73,25.09C139.27,25.69 138.62,26.15 137.8,26.46C136.98,26.77 136.05,26.93 135.01,26.93C133.94,26.93 132.99,26.68 132.16,26.2C131.33,25.71 130.7,25.01 130.25,24.11C129.8,23.2 129.57,22.15 129.55,20.94L129.55,19.94C129.55,18 130.01,16.49 130.94,15.41C131.86,14.32 133.16,13.78 134.81,13.78C136.24,13.78 137.37,14.13 138.21,14.83C139.05,15.54 139.55,16.55 139.72,17.87L137.54,17.87C137.29,16.33 136.4,15.56 134.86,15.56C133.86,15.56 133.11,15.92 132.59,16.64C132.07,17.36 131.8,18.41 131.78,19.8L131.78,20.78C131.78,22.17 132.07,23.24 132.66,24C133.24,24.77 134.05,25.15 135.09,25.15C136.22,25.15 137.03,24.89 137.51,24.38L137.51,21.87L134.88,21.87L134.88,20.18L139.73,20.18L139.73,25.09ZM146.04,26.75L143.9,26.75L143.9,17.24L146.04,17.24L146.04,26.75ZM143.77,14.77C143.77,14.44 143.87,14.17 144.08,13.95C144.29,13.74 144.59,13.63 144.97,13.63C145.36,13.63 145.66,13.74 145.87,13.95C146.08,14.17 146.19,14.44 146.19,14.77C146.19,15.09 146.08,15.36 145.87,15.57C145.66,15.79 145.36,15.9 144.97,15.9C144.59,15.9 144.29,15.79 144.08,15.57C143.87,15.36 143.77,15.09 143.77,14.77ZM152.84,14.93L152.84,17.24L154.52,17.24L154.52,18.82L152.84,18.82L152.84,24.13C152.84,24.49 152.91,24.76 153.05,24.92C153.2,25.08 153.45,25.16 153.82,25.16C154.07,25.16 154.32,25.13 154.57,25.07L154.57,26.72C154.08,26.86 153.61,26.93 153.16,26.93C151.52,26.93 150.7,26.02 150.7,24.21L150.7,18.82L149.14,18.82L149.14,17.24L150.7,17.24L150.7,14.93L152.84,14.93ZM160.05,18.28C160.75,17.47 161.63,17.06 162.7,17.06C164.72,17.06 165.75,18.22 165.78,20.54L165.78,26.75L163.65,26.75L163.65,20.62C163.65,19.96 163.5,19.49 163.22,19.22C162.94,18.95 162.52,18.81 161.97,18.81C161.11,18.81 160.47,19.19 160.05,19.96L160.05,26.75L157.92,26.75L157.92,13.25L160.05,13.25L160.05,18.28ZM175.5,25.82C174.87,26.56 173.98,26.93 172.83,26.93C171.8,26.93 171.02,26.62 170.49,26.02C169.96,25.42 169.69,24.54 169.69,23.4L169.69,17.24L171.83,17.24L171.83,23.38C171.83,24.58 172.33,25.19 173.33,25.19C174.37,25.19 175.07,24.81 175.43,24.07L175.43,17.24L177.57,17.24L177.57,26.75L175.55,26.75L175.5,25.82ZM189.89,22.09C189.89,23.57 189.56,24.74 188.9,25.62C188.24,26.49 187.33,26.93 186.18,26.93C185.06,26.93 184.2,26.52 183.58,25.72L183.47,26.75L181.54,26.75L181.54,13.25L183.67,13.25L183.67,18.15C184.29,17.43 185.12,17.06 186.16,17.06C187.32,17.06 188.23,17.5 188.89,18.36C189.56,19.22 189.89,20.42 189.89,21.97L189.89,22.09ZM187.75,21.91C187.75,20.88 187.57,20.1 187.21,19.59C186.84,19.07 186.32,18.81 185.62,18.81C184.7,18.81 184.05,19.22 183.67,20.03L183.67,23.95C184.05,24.77 184.71,25.19 185.64,25.19C186.31,25.19 186.83,24.94 187.19,24.44C187.55,23.94 187.74,23.19 187.75,22.18L187.75,21.91Z"
android:strokeColor="#00000000"
android:strokeWidth="1" />
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M115.79,15.15C114.91,13.65 113.72,12.46 112.22,11.58C110.72,10.7 109.08,10.27 107.3,10.27C105.52,10.27 103.88,10.7 102.38,11.58C100.88,12.46 99.69,13.65 98.81,15.15C97.94,16.65 97.5,18.29 97.5,20.07C97.5,22.2 98.12,24.12 99.37,25.83C100.62,27.53 102.23,28.71 104.2,29.37C104.43,29.41 104.6,29.38 104.71,29.28C104.82,29.18 104.88,29.05 104.88,28.9C104.88,28.87 104.87,28.64 104.87,28.21C104.86,27.77 104.86,27.4 104.86,27.07L104.57,27.12C104.38,27.16 104.15,27.17 103.86,27.17C103.58,27.16 103.28,27.13 102.97,27.08C102.67,27.02 102.38,26.9 102.12,26.7C101.86,26.5 101.67,26.23 101.56,25.91L101.43,25.62C101.35,25.42 101.21,25.2 101.03,24.97C100.85,24.73 100.66,24.57 100.47,24.48L100.38,24.42C100.32,24.38 100.27,24.32 100.22,24.26C100.17,24.21 100.13,24.15 100.1,24.09C100.08,24.03 100.1,23.98 100.17,23.94C100.24,23.9 100.36,23.88 100.54,23.88L100.79,23.92C100.96,23.95 101.17,24.06 101.42,24.23C101.67,24.4 101.88,24.62 102.04,24.89C102.24,25.24 102.47,25.5 102.75,25.69C103.03,25.87 103.31,25.96 103.59,25.96C103.87,25.96 104.11,25.94 104.31,25.9C104.52,25.86 104.71,25.79 104.89,25.71C104.96,25.14 105.17,24.7 105.51,24.39C105.03,24.34 104.59,24.26 104.21,24.16C103.82,24.06 103.42,23.89 103.01,23.66C102.59,23.43 102.25,23.15 101.98,22.81C101.71,22.47 101.48,22.02 101.31,21.47C101.13,20.92 101.05,20.28 101.05,19.56C101.05,18.53 101.38,17.65 102.06,16.93C101.74,16.15 101.77,15.29 102.14,14.32C102.39,14.25 102.76,14.3 103.24,14.5C103.73,14.69 104.08,14.85 104.31,14.99C104.53,15.12 104.71,15.24 104.85,15.33C105.64,15.11 106.46,15 107.3,15C108.14,15 108.96,15.11 109.75,15.33L110.24,15.03C110.57,14.82 110.96,14.63 111.41,14.46C111.86,14.29 112.2,14.25 112.44,14.32C112.83,15.29 112.86,16.15 112.55,16.93C113.22,17.65 113.55,18.53 113.55,19.56C113.55,20.28 113.47,20.92 113.29,21.48C113.12,22.03 112.89,22.48 112.62,22.82C112.34,23.15 111.99,23.44 111.58,23.66C111.17,23.89 110.77,24.06 110.38,24.16C110,24.26 109.56,24.34 109.07,24.39C109.52,24.78 109.74,25.38 109.74,26.2L109.74,28.9C109.74,29.05 109.79,29.18 109.9,29.28C110,29.38 110.17,29.41 110.4,29.37C112.38,28.71 113.99,27.53 115.23,25.83C116.48,24.12 117.1,22.2 117.1,20.07C117.1,18.29 116.66,16.65 115.79,15.15Z"
android:strokeColor="#00000000"
android:strokeWidth="1" />
</vector>
\ No newline at end of file
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="290dp"
android:height="40dp"
android:viewportHeight="40.0"
android:viewportWidth="290.0">
<path
android:fillColor="#383D47"
android:fillType="evenOdd"
android:pathData="M2,0L288,0A2,2 0,0 1,290 2L290,38A2,2 0,0 1,288 40L2,40A2,2 0,0 1,0 38L0,2A2,2 0,0 1,2 0z"
android:strokeColor="#00000000"
android:strokeWidth="1" />
<path
android:fillColor="#FFFFFF"
android:fillType="evenOdd"
android:pathData="M142.56,24.59C142.1,25.19 141.45,25.65 140.63,25.96C139.81,26.27 138.88,26.43 137.84,26.43C136.77,26.43 135.82,26.18 134.99,25.7C134.16,25.21 133.53,24.51 133.08,23.61C132.63,22.7 132.4,21.65 132.38,20.44L132.38,19.44C132.38,17.5 132.84,15.99 133.77,14.91C134.69,13.82 135.99,13.28 137.64,13.28C139.07,13.28 140.2,13.63 141.04,14.33C141.88,15.04 142.38,16.05 142.55,17.37L140.37,17.37C140.12,15.83 139.23,15.06 137.69,15.06C136.69,15.06 135.94,15.42 135.42,16.14C134.9,16.86 134.63,17.91 134.61,19.3L134.61,20.28C134.61,21.67 134.9,22.74 135.49,23.5C136.07,24.27 136.88,24.65 137.92,24.65C139.05,24.65 139.86,24.39 140.34,23.88L140.34,21.37L137.71,21.37L137.71,19.68L142.56,19.68L142.56,24.59ZM148.87,26.25L146.73,26.25L146.73,16.74L148.87,16.74L148.87,26.25ZM146.6,14.27C146.6,13.94 146.7,13.67 146.91,13.45C147.12,13.24 147.42,13.13 147.8,13.13C148.19,13.13 148.49,13.24 148.7,13.45C148.91,13.67 149.02,13.94 149.02,14.27C149.02,14.59 148.91,14.86 148.7,15.07C148.49,15.29 148.19,15.4 147.8,15.4C147.42,15.4 147.12,15.29 146.91,15.07C146.7,14.86 146.6,14.59 146.6,14.27ZM155.67,14.43L155.67,16.74L157.35,16.74L157.35,18.32L155.67,18.32L155.67,23.63C155.67,23.99 155.74,24.26 155.88,24.42C156.03,24.58 156.28,24.66 156.65,24.66C156.9,24.66 157.15,24.63 157.4,24.57L157.4,26.22C156.91,26.36 156.44,26.43 155.99,26.43C154.35,26.43 153.53,25.52 153.53,23.71L153.53,18.32L151.97,18.32L151.97,16.74L153.53,16.74L153.53,14.43L155.67,14.43ZM163.05,26.25L160.91,26.25L160.91,12.75L163.05,12.75L163.05,26.25ZM172.86,26.25C172.76,26.07 172.68,25.77 172.61,25.36C171.93,26.07 171.1,26.43 170.11,26.43C169.16,26.43 168.38,26.15 167.78,25.61C167.17,25.06 166.87,24.39 166.87,23.59C166.87,22.57 167.25,21.8 168,21.25C168.75,20.71 169.83,20.44 171.23,20.44L172.54,20.44L172.54,19.82C172.54,19.32 172.4,18.93 172.13,18.63C171.85,18.34 171.43,18.19 170.87,18.19C170.38,18.19 169.98,18.31 169.67,18.56C169.36,18.8 169.21,19.11 169.21,19.48L167.07,19.48C167.07,18.96 167.25,18.47 167.59,18.02C167.94,17.56 168.41,17.21 169,16.95C169.6,16.69 170.26,16.56 170.99,16.56C172.11,16.56 172.99,16.84 173.66,17.4C174.32,17.96 174.66,18.75 174.68,19.76L174.68,24.05C174.68,24.91 174.8,25.59 175.04,26.1L175.04,26.25L172.86,26.25ZM170.51,24.71C170.93,24.71 171.33,24.61 171.7,24.4C172.07,24.2 172.35,23.92 172.54,23.58L172.54,21.79L171.39,21.79C170.6,21.79 170,21.92 169.6,22.2C169.21,22.47 169.01,22.86 169.01,23.37C169.01,23.78 169.14,24.1 169.41,24.35C169.69,24.59 170.05,24.71 170.51,24.71ZM187.06,21.59C187.06,23.07 186.73,24.24 186.07,25.12C185.41,25.99 184.5,26.43 183.35,26.43C182.23,26.43 181.37,26.02 180.75,25.22L180.64,26.25L178.71,26.25L178.71,12.75L180.84,12.75L180.84,17.65C181.46,16.93 182.29,16.56 183.33,16.56C184.49,16.56 185.4,17 186.06,17.86C186.73,18.72 187.06,19.92 187.06,21.47L187.06,21.59ZM184.92,21.41C184.92,20.38 184.74,19.6 184.38,19.09C184.01,18.57 183.49,18.31 182.79,18.31C181.87,18.31 181.22,18.72 180.84,19.53L180.84,23.45C181.22,24.27 181.88,24.69 182.81,24.69C183.48,24.69 184,24.44 184.36,23.94C184.72,23.44 184.91,22.69 184.92,21.68L184.92,21.41Z"
android:strokeColor="#00000000"
android:strokeWidth="1" />
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M121.13,18.01L119.97,21.57L117.68,28.64C117.56,29 117.04,29 116.92,28.64L114.63,21.57L107,21.57L104.71,28.64C104.59,29 104.08,29 103.96,28.64L101.66,21.57L100.5,18.01C100.4,17.68 100.51,17.33 100.79,17.12L110.82,9.84L120.84,17.12C121.12,17.33 121.23,17.68 121.13,18.01"
android:strokeColor="#00000000"
android:strokeWidth="1" />
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M110.82,9.84l0,0l3.81,11.73l-7.62,0z"
android:strokeColor="#00000000"
android:strokeWidth="1" />
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M110.82,9.84l-3.81,11.73l-5.34,0z"
android:strokeColor="#00000000"
android:strokeWidth="1" />
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M101.66,21.57L101.66,21.57L100.5,18.01C100.4,17.68 100.51,17.33 100.79,17.12L110.82,9.84L101.66,21.57L101.66,21.57Z"
android:strokeColor="#00000000"
android:strokeWidth="1" />
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M101.66,21.57L107,21.57L104.71,28.64C104.59,29 104.08,29 103.96,28.64L101.66,21.57L101.66,21.57Z"
android:strokeColor="#00000000"
android:strokeWidth="1" />
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M110.82,9.84l3.81,11.73l5.34,0z"
android:strokeColor="#00000000"
android:strokeWidth="1" />
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M119.97,21.57L119.97,21.57L121.13,18.01C121.24,17.68 121.12,17.33 120.84,17.12L110.82,9.84L119.97,21.57L119.97,21.57Z"
android:strokeColor="#00000000"
android:strokeWidth="1" />
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M119.97,21.57L114.63,21.57L116.92,28.64C117.04,29 117.56,29 117.68,28.64L119.97,21.57L119.97,21.57Z"
android:strokeColor="#00000000"
android:strokeWidth="1" />
</vector>
\ No newline at end of file
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="290dp"
android:height="40dp"
android:viewportHeight="40.0"
android:viewportWidth="290.0">
<path
android:fillColor="#DF4F38"
android:fillType="evenOdd"
android:pathData="M2,0L288,0A2,2 0,0 1,290 2L290,38A2,2 0,0 1,288 40L2,40A2,2 0,0 1,0 38L0,2A2,2 0,0 1,2 0z"
android:strokeColor="#00000000"
android:strokeWidth="1" />
<path
android:fillColor="#FFFFFF"
android:fillType="evenOdd"
android:pathData="M137.11,25.09C136.64,25.69 136,26.15 135.18,26.46C134.36,26.77 133.43,26.93 132.39,26.93C131.31,26.93 130.36,26.68 129.54,26.2C128.71,25.71 128.07,25.01 127.63,24.11C127.18,23.2 126.95,22.15 126.93,20.94L126.93,19.94C126.93,18 127.39,16.49 128.32,15.41C129.24,14.32 130.53,13.78 132.19,13.78C133.62,13.78 134.75,14.13 135.58,14.83C136.42,15.54 136.93,16.55 137.1,17.87L134.92,17.87C134.67,16.33 133.78,15.56 132.24,15.56C131.24,15.56 130.48,15.92 129.96,16.64C129.45,17.36 129.18,18.41 129.16,19.8L129.16,20.78C129.16,22.17 129.45,23.24 130.03,24C130.62,24.77 131.43,25.15 132.46,25.15C133.6,25.15 134.41,24.89 134.89,24.38L134.89,21.87L132.25,21.87L132.25,20.18L137.11,20.18L137.11,25.09ZM140.74,21.91C140.74,20.98 140.93,20.14 141.3,19.39C141.67,18.64 142.18,18.07 142.85,17.67C143.52,17.27 144.29,17.06 145.15,17.06C146.44,17.06 147.48,17.48 148.28,18.3C149.08,19.13 149.51,20.23 149.58,21.59L149.58,22.09C149.58,23.03 149.4,23.87 149.04,24.61C148.68,25.34 148.17,25.92 147.5,26.32C146.83,26.72 146.05,26.93 145.17,26.93C143.83,26.93 142.76,26.48 141.95,25.59C141.15,24.69 140.74,23.5 140.74,22.01L140.74,21.91ZM142.88,22.09C142.88,23.07 143.08,23.84 143.48,24.39C143.89,24.94 144.45,25.22 145.17,25.22C145.89,25.22 146.45,24.94 146.86,24.38C147.26,23.81 147.46,22.99 147.46,21.91C147.46,20.95 147.25,20.18 146.84,19.62C146.42,19.06 145.86,18.78 145.15,18.78C144.46,18.78 143.9,19.06 143.49,19.61C143.08,20.16 142.88,20.99 142.88,22.09ZM152.79,21.91C152.79,20.98 152.97,20.14 153.34,19.39C153.71,18.64 154.23,18.07 154.9,17.67C155.57,17.27 156.34,17.06 157.2,17.06C158.49,17.06 159.53,17.48 160.33,18.3C161.13,19.13 161.56,20.23 161.62,21.59L161.63,22.09C161.63,23.03 161.45,23.87 161.09,24.61C160.73,25.34 160.22,25.92 159.54,26.32C158.87,26.72 158.1,26.93 157.22,26.93C155.88,26.93 154.8,26.48 154,25.59C153.19,24.69 152.79,23.5 152.79,22.01L152.79,21.91ZM154.93,22.09C154.93,23.07 155.13,23.84 155.53,24.39C155.94,24.94 156.5,25.22 157.22,25.22C157.94,25.22 158.5,24.94 158.9,24.38C159.3,23.81 159.51,22.99 159.51,21.91C159.51,20.95 159.3,20.18 158.89,19.62C158.47,19.06 157.91,18.78 157.2,18.78C156.51,18.78 155.95,19.06 155.54,19.61C155.13,20.16 154.93,20.99 154.93,22.09ZM164.86,21.92C164.86,20.45 165.21,19.27 165.91,18.39C166.6,17.51 167.52,17.06 168.67,17.06C169.75,17.06 170.61,17.44 171.23,18.2L171.32,17.24L173.25,17.24L173.25,26.46C173.25,27.71 172.86,28.69 172.08,29.41C171.31,30.13 170.26,30.49 168.94,30.49C168.25,30.49 167.56,30.35 166.9,30.06C166.23,29.77 165.73,29.39 165.38,28.92L166.39,27.64C167.05,28.42 167.86,28.81 168.82,28.81C169.53,28.81 170.09,28.61 170.5,28.23C170.91,27.85 171.11,27.28 171.11,26.54L171.11,25.9C170.5,26.58 169.68,26.93 168.65,26.93C167.54,26.93 166.63,26.48 165.92,25.6C165.22,24.71 164.86,23.49 164.86,21.92ZM166.99,22.11C166.99,23.06 167.19,23.82 167.58,24.36C167.97,24.91 168.51,25.19 169.2,25.19C170.06,25.19 170.7,24.82 171.11,24.08L171.11,19.89C170.71,19.17 170.08,18.81 169.22,18.81C168.51,18.81 167.97,19.09 167.58,19.65C167.19,20.21 166.99,21.03 166.99,22.11ZM179.51,26.75L177.38,26.75L177.38,13.25L179.51,13.25L179.51,26.75ZM187.83,26.93C186.47,26.93 185.38,26.5 184.54,25.65C183.69,24.79 183.27,23.66 183.27,22.24L183.27,21.98C183.27,21.03 183.46,20.18 183.82,19.43C184.19,18.69 184.7,18.1 185.37,17.69C186.03,17.27 186.77,17.06 187.58,17.06C188.88,17.06 189.88,17.48 190.58,18.3C191.29,19.13 191.64,20.3 191.64,21.81L191.64,22.67L185.43,22.67C185.49,23.46 185.75,24.08 186.21,24.54C186.67,24.99 187.25,25.22 187.95,25.22C188.93,25.22 189.73,24.83 190.34,24.03L191.49,25.13C191.11,25.7 190.6,26.14 189.97,26.46C189.33,26.77 188.62,26.93 187.83,26.93ZM187.57,18.78C186.99,18.78 186.51,18.98 186.15,19.39C185.79,19.8 185.56,20.37 185.46,21.11L189.53,21.11L189.53,20.95C189.49,20.23 189.29,19.69 188.96,19.33C188.63,18.96 188.16,18.78 187.57,18.78Z"
android:strokeColor="#00000000"
android:strokeWidth="1" />
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M99.43,22.32L98.73,24.92L96.19,24.97C95.43,23.56 95,21.95 95,20.24C95,18.58 95.4,17.02 96.12,15.65L96.12,15.65L98.38,16.06L99.37,18.31C99.16,18.91 99.05,19.56 99.05,20.24C99.05,20.97 99.18,21.67 99.43,22.32Z"
android:strokeColor="#00000000"
android:strokeWidth="1" />
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M114.8,18.37C114.92,18.98 114.98,19.6 114.98,20.24C114.98,20.95 114.9,21.65 114.76,22.32C114.27,24.61 113,26.61 111.24,28.03L111.24,28.03L108.39,27.88L107.99,25.36C109.16,24.68 110.07,23.61 110.55,22.32L105.21,22.32L105.21,18.37L110.63,18.37L114.8,18.37L114.8,18.37Z"
android:strokeColor="#00000000"
android:strokeWidth="1" />
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M111.24,28.03L111.24,28.03C109.53,29.4 107.36,30.23 104.99,30.23C101.18,30.23 97.88,28.1 96.19,24.97L99.43,22.32C100.27,24.57 102.44,26.18 104.99,26.18C106.08,26.18 107.11,25.88 107.99,25.36L111.24,28.03Z"
android:strokeColor="#00000000"
android:strokeWidth="1" />
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M111.36,12.55L108.13,15.2C107.22,14.63 106.14,14.3 104.99,14.3C102.39,14.3 100.17,15.98 99.37,18.31L96.12,15.65L96.12,15.65C97.78,12.44 101.13,10.25 104.99,10.25C107.41,10.25 109.63,11.11 111.36,12.55Z"
android:strokeColor="#00000000"
android:strokeWidth="1" />
</vector>
\ No newline at end of file
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="290dp"
android:height="40dp"
android:viewportHeight="40.0"
android:viewportWidth="290.0">
<path
android:fillColor="#2886BA"
android:fillType="evenOdd"
android:pathData="M2,0L288,0A2,2 0,0 1,290 2L290,38A2,2 0,0 1,288 40L2,40A2,2 0,0 1,0 38L0,2A2,2 0,0 1,2 0z"
android:strokeColor="#00000000"
android:strokeWidth="1" />
<path
android:fillColor="#FFFFFF"
android:fillType="evenOdd"
android:pathData="M122.33,24.6L128.14,24.6L128.14,26.38L120.1,26.38L120.1,13.58L122.33,13.58L122.33,24.6ZM133.71,26.38L131.57,26.38L131.57,16.87L133.71,16.87L133.71,26.38ZM131.44,14.4C131.44,14.07 131.54,13.79 131.75,13.58C131.96,13.36 132.26,13.25 132.64,13.25C133.03,13.25 133.33,13.36 133.54,13.58C133.75,13.79 133.86,14.07 133.86,14.4C133.86,14.72 133.75,14.99 133.54,15.2C133.33,15.41 133.03,15.52 132.64,15.52C132.26,15.52 131.96,15.41 131.75,15.2C131.54,14.99 131.44,14.72 131.44,14.4ZM139.82,16.87L139.88,17.96C140.58,17.11 141.5,16.69 142.65,16.69C144.63,16.69 145.63,17.82 145.67,20.09L145.67,26.38L143.53,26.38L143.53,20.21C143.53,19.61 143.4,19.16 143.14,18.87C142.88,18.58 142.45,18.44 141.86,18.44C141,18.44 140.36,18.83 139.94,19.61L139.94,26.38L137.8,26.38L137.8,16.87L139.82,16.87ZM152.73,22.3L151.78,23.27L151.78,26.38L149.65,26.38L149.65,12.88L151.78,12.88L151.78,20.66L152.45,19.83L155.08,16.87L157.65,16.87L154.11,20.83L158.02,26.38L155.55,26.38L152.73,22.3ZM164.85,26.55C163.5,26.55 162.4,26.12 161.56,25.27C160.72,24.42 160.3,23.28 160.3,21.87L160.3,21.6C160.3,20.65 160.48,19.81 160.85,19.06C161.21,18.31 161.73,17.73 162.39,17.31C163.05,16.9 163.79,16.69 164.61,16.69C165.9,16.69 166.9,17.1 167.61,17.93C168.31,18.75 168.67,19.92 168.67,21.44L168.67,22.3L162.45,22.3C162.52,23.08 162.78,23.7 163.24,24.16C163.7,24.62 164.28,24.85 164.97,24.85C165.95,24.85 166.75,24.45 167.37,23.66L168.52,24.76C168.14,25.33 167.63,25.77 166.99,26.08C166.36,26.39 165.64,26.55 164.85,26.55ZM164.6,18.4C164.01,18.4 163.54,18.61 163.18,19.02C162.82,19.43 162.59,20 162.49,20.73L166.56,20.73L166.56,20.57C166.51,19.86 166.32,19.32 165.99,18.95C165.65,18.59 165.19,18.4 164.6,18.4ZM171.72,21.55C171.72,20.08 172.06,18.91 172.74,18.02C173.42,17.13 174.33,16.69 175.48,16.69C176.48,16.69 177.3,17.04 177.92,17.74L177.92,12.88L180.05,12.88L180.05,26.38L178.12,26.38L178.02,25.39C177.38,26.16 176.52,26.55 175.46,26.55C174.34,26.55 173.44,26.1 172.76,25.21C172.07,24.31 171.72,23.09 171.72,21.55ZM173.86,21.73C173.86,22.7 174.04,23.46 174.42,24C174.79,24.54 175.32,24.81 176,24.81C176.88,24.81 177.51,24.42 177.92,23.64L177.92,19.58C177.53,18.82 176.89,18.44 176.02,18.44C175.33,18.44 174.8,18.71 174.42,19.26C174.05,19.81 173.86,20.63 173.86,21.73ZM186.35,26.38L184.22,26.38L184.22,16.87L186.35,16.87L186.35,26.38ZM184.09,14.4C184.09,14.07 184.19,13.79 184.4,13.58C184.61,13.36 184.9,13.25 185.29,13.25C185.68,13.25 185.98,13.36 186.19,13.58C186.4,13.79 186.5,14.07 186.5,14.4C186.5,14.72 186.4,14.99 186.19,15.2C185.98,15.41 185.68,15.52 185.29,15.52C184.9,15.52 184.61,15.41 184.4,15.2C184.19,14.99 184.09,14.72 184.09,14.4ZM192.46,16.87L192.52,17.96C193.23,17.11 194.15,16.69 195.29,16.69C197.27,16.69 198.28,17.82 198.32,20.09L198.32,26.38L196.18,26.38L196.18,20.21C196.18,19.61 196.05,19.16 195.79,18.87C195.53,18.58 195.1,18.44 194.51,18.44C193.65,18.44 193.01,18.83 192.58,19.61L192.58,26.38L190.45,26.38L190.45,16.87L192.46,16.87Z"
android:strokeColor="#00000000"
android:strokeWidth="1" />
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M108.88,22.13L108.88,29.85L104.4,29.85L104.4,22.65C104.4,20.84 103.76,19.61 102.14,19.61C100.9,19.61 100.16,20.44 99.84,21.24C99.72,21.53 99.69,21.93 99.69,22.34L99.69,29.85L95.22,29.85C95.22,29.85 95.28,17.66 95.22,16.39L99.69,16.39L99.69,18.3C99.68,18.31 99.67,18.33 99.66,18.34L99.69,18.34L99.69,18.3C100.29,17.38 101.35,16.08 103.73,16.08C106.67,16.08 108.88,18 108.88,22.13ZM90.53,9.9C89,9.9 88,10.91 88,12.23C88,13.52 88.97,14.55 90.47,14.55L90.5,14.55C92.06,14.55 93.04,13.52 93.04,12.23C93.01,10.91 92.06,9.9 90.53,9.9ZM88.27,29.85L92.74,29.85L92.74,16.39L88.27,16.39L88.27,29.85Z"
android:strokeColor="#00000000"
android:strokeWidth="1" />
</vector>
\ No newline at end of file
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M18,8h-1L17,6c0,-2.76 -2.24,-5 -5,-5S7,3.24 7,6v2L6,8c-1.1,0 -2,0.9 -2,2v10c0,1.1 0.9,2 2,2h12c1.1,0 2,-0.9 2,-2L20,10c0,-1.1 -0.9,-2 -2,-2zM12,17c-1.1,0 -2,-0.9 -2,-2s0.9,-2 2,-2 2,0.9 2,2 -0.9,2 -2,2zM15.1,8L8.9,8L8.9,6c0,-1.71 1.39,-3.1 3.1,-3.1 1.71,0 3.1,1.39 3.1,3.1v2z" />
</vector>
\ No newline at end of file
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="290dp"
android:height="40dp"
android:viewportHeight="40.0"
android:viewportWidth="290.0">
<path
android:fillColor="#DC464F"
android:fillType="evenOdd"
android:pathData="M2,0L288,0A2,2 0,0 1,290 2L290,38A2,2 0,0 1,288 40L2,40A2,2 0,0 1,0 38L0,2A2,2 0,0 1,2 0z"
android:strokeColor="#00000000"
android:strokeWidth="1" />
<path
android:fillColor="#FFFFFF"
android:fillType="evenOdd"
android:pathData="M130.46,13.45L134.16,23.26L137.84,13.45L140.71,13.45L140.71,26.25L138.5,26.25L138.5,22.03L138.72,16.39L134.94,26.25L133.35,26.25L129.58,16.4L129.8,22.03L129.8,26.25L127.58,26.25L127.58,13.45L130.46,13.45ZM149.12,26.43C147.77,26.43 146.67,26 145.83,25.15C144.99,24.29 144.57,23.16 144.57,21.74L144.57,21.48C144.57,20.53 144.75,19.68 145.12,18.93C145.48,18.19 146,17.6 146.66,17.19C147.32,16.77 148.06,16.56 148.88,16.56C150.17,16.56 151.17,16.98 151.88,17.8C152.58,18.63 152.94,19.8 152.94,21.31L152.94,22.17L146.72,22.17C146.79,22.96 147.05,23.58 147.51,24.04C147.97,24.49 148.55,24.72 149.24,24.72C150.22,24.72 151.02,24.33 151.64,23.53L152.79,24.63C152.41,25.2 151.9,25.64 151.26,25.96C150.63,26.27 149.91,26.43 149.12,26.43ZM148.87,18.28C148.28,18.28 147.81,18.48 147.45,18.89C147.09,19.3 146.86,19.87 146.76,20.61L150.83,20.61L150.83,20.45C150.78,19.73 150.59,19.19 150.26,18.83C149.92,18.46 149.46,18.28 148.87,18.28ZM159.07,14.43L159.07,16.74L160.75,16.74L160.75,18.32L159.07,18.32L159.07,23.63C159.07,23.99 159.14,24.26 159.28,24.42C159.43,24.58 159.68,24.66 160.05,24.66C160.3,24.66 160.55,24.63 160.8,24.57L160.8,26.22C160.31,26.36 159.85,26.43 159.39,26.43C157.75,26.43 156.93,25.52 156.93,23.71L156.93,18.32L155.37,18.32L155.37,16.74L156.93,16.74L156.93,14.43L159.07,14.43ZM168.37,26.43C167.01,26.43 165.92,26 165.07,25.15C164.23,24.29 163.81,23.16 163.81,21.74L163.81,21.48C163.81,20.53 164,19.68 164.36,18.93C164.73,18.19 165.24,17.6 165.91,17.19C166.57,16.77 167.31,16.56 168.12,16.56C169.42,16.56 170.42,16.98 171.12,17.8C171.83,18.63 172.18,19.8 172.18,21.31L172.18,22.17L165.97,22.17C166.03,22.96 166.29,23.58 166.75,24.04C167.21,24.49 167.79,24.72 168.49,24.72C169.47,24.72 170.26,24.33 170.88,23.53L172.03,24.63C171.65,25.2 171.14,25.64 170.51,25.96C169.87,26.27 169.16,26.43 168.37,26.43ZM168.11,18.28C167.53,18.28 167.05,18.48 166.69,18.89C166.33,19.3 166.1,19.87 166,20.61L170.07,20.61L170.07,20.45C170.02,19.73 169.83,19.19 169.5,18.83C169.17,18.46 168.7,18.28 168.11,18.28ZM175.24,21.41C175.24,20.48 175.42,19.64 175.79,18.89C176.16,18.14 176.68,17.57 177.35,17.17C178.01,16.77 178.78,16.56 179.65,16.56C180.93,16.56 181.97,16.98 182.77,17.8C183.57,18.63 184.01,19.73 184.07,21.09L184.08,21.59C184.08,22.53 183.9,23.37 183.54,24.11C183.18,24.84 182.66,25.42 181.99,25.82C181.32,26.22 180.55,26.43 179.67,26.43C178.33,26.43 177.25,25.98 176.45,25.09C175.64,24.19 175.24,23 175.24,21.51L175.24,21.41ZM177.37,21.59C177.37,22.57 177.58,23.34 177.98,23.89C178.38,24.44 178.95,24.72 179.67,24.72C180.39,24.72 180.95,24.44 181.35,23.88C181.75,23.31 181.95,22.49 181.95,21.41C181.95,20.45 181.75,19.68 181.33,19.12C180.92,18.56 180.36,18.28 179.65,18.28C178.95,18.28 178.4,18.56 177.99,19.11C177.58,19.66 177.37,20.49 177.37,21.59ZM192.66,18.69C192.38,18.64 192.09,18.62 191.79,18.62C190.82,18.62 190.16,19 189.82,19.75L189.82,26.25L187.68,26.25L187.68,16.74L189.72,16.74L189.77,17.8C190.29,16.98 191,16.56 191.92,16.56C192.22,16.56 192.47,16.61 192.67,16.69L192.66,18.69Z"
android:strokeColor="#00000000"
android:strokeWidth="1" />
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M95.75,9.88L112.99,28.14C112.99,28.14 113.58,28.56 114.03,28.08C114.48,27.59 114.13,27.11 114.13,27.11L95.75,9.88L95.75,9.88Z"
android:strokeColor="#00000000"
android:strokeWidth="1" />
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M101.21,11.6L114.34,25.76C114.34,25.76 114.93,26.18 115.38,25.69C115.83,25.21 115.48,24.73 115.48,24.73L101.21,11.6L101.21,11.6Z"
android:strokeColor="#00000000"
android:strokeWidth="1" />
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M97.37,15.3L110.5,29.46C110.5,29.46 111.09,29.87 111.54,29.39C111.99,28.9 111.64,28.42 111.64,28.42L97.37,15.3L97.37,15.3Z"
android:strokeColor="#00000000"
android:strokeWidth="1" />
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M105.82,13.09L115,22.98C115,22.98 115.41,23.27 115.72,22.93C116.04,22.59 115.8,22.26 115.8,22.26L105.82,13.09L105.82,13.09Z"
android:strokeColor="#00000000"
android:strokeWidth="1" />
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M98.63,19.58L107.81,29.47C107.81,29.47 108.22,29.76 108.53,29.42C108.85,29.09 108.61,28.75 108.61,28.75L98.63,19.58L98.63,19.58Z"
android:strokeColor="#00000000"
android:strokeWidth="1" />
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M110.54,15.23L114.7,19.73C114.7,19.73 114.9,19.86 115.06,19.7C115.21,19.54 115.09,19.39 115.09,19.39L110.54,15.23L110.54,15.23Z"
android:strokeColor="#00000000"
android:strokeWidth="1" />
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M100.93,24.14L105.09,28.64C105.09,28.64 105.29,28.77 105.45,28.61C105.6,28.45 105.48,28.3 105.48,28.3L100.93,24.14L100.93,24.14Z"
android:strokeColor="#00000000"
android:strokeWidth="1" />
</vector>
\ No newline at end of file
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M12,12c2.21,0 4,-1.79 4,-4s-1.79,-4 -4,-4 -4,1.79 -4,4 1.79,4 4,4zM12,14c-2.67,0 -8,1.34 -8,4v2h16v-2c0,-2.66 -5.33,-4 -8,-4z" />
</vector>
\ No newline at end of file
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="290dp"
android:height="40dp"
android:viewportHeight="40.0"
android:viewportWidth="290.0">
<path
android:fillColor="#00ACEE"
android:fillType="evenOdd"
android:pathData="M2,0L288,0A2,2 0,0 1,290 2L290,38A2,2 0,0 1,288 40L2,40A2,2 0,0 1,0 38L0,2A2,2 0,0 1,2 0z"
android:strokeColor="#00000000"
android:strokeWidth="1" />
<path
android:fillColor="#FFFFFF"
android:fillType="evenOdd"
android:pathData="M136.03,15.75L132.03,15.75L132.03,26.75L129.83,26.75L129.83,15.75L125.87,15.75L125.87,13.95L136.03,13.95L136.03,15.75ZM147.24,23.81L148.75,17.24L150.83,17.24L148.24,26.75L146.48,26.75L144.44,20.22L142.44,26.75L140.68,26.75L138.08,17.24L140.16,17.24L141.7,23.74L143.65,17.24L145.26,17.24L147.24,23.81ZM156.33,26.75L154.2,26.75L154.2,17.24L156.33,17.24L156.33,26.75ZM154.07,14.77C154.07,14.44 154.17,14.17 154.38,13.95C154.59,13.74 154.88,13.63 155.27,13.63C155.66,13.63 155.96,13.74 156.17,13.95C156.38,14.17 156.48,14.44 156.48,14.77C156.48,15.09 156.38,15.36 156.17,15.57C155.96,15.79 155.66,15.9 155.27,15.9C154.88,15.9 154.59,15.79 154.38,15.57C154.17,15.36 154.07,15.09 154.07,14.77ZM163.13,14.93L163.13,17.24L164.81,17.24L164.81,18.82L163.13,18.82L163.13,24.13C163.13,24.49 163.21,24.76 163.35,24.92C163.49,25.08 163.75,25.16 164.12,25.16C164.36,25.16 164.61,25.13 164.87,25.07L164.87,26.72C164.38,26.86 163.91,26.93 163.46,26.93C161.82,26.93 161,26.02 161,24.21L161,18.82L159.43,18.82L159.43,17.24L161,17.24L161,14.93L163.13,14.93ZM170.92,14.93L170.92,17.24L172.6,17.24L172.6,18.82L170.92,18.82L170.92,24.13C170.92,24.49 170.99,24.76 171.13,24.92C171.28,25.08 171.53,25.16 171.9,25.16C172.15,25.16 172.4,25.13 172.65,25.07L172.65,26.72C172.16,26.86 171.7,26.93 171.24,26.93C169.6,26.93 168.78,26.02 168.78,24.21L168.78,18.82L167.22,18.82L167.22,17.24L168.78,17.24L168.78,14.93L170.92,14.93ZM180.22,26.93C178.86,26.93 177.77,26.5 176.93,25.65C176.08,24.79 175.66,23.66 175.66,22.24L175.66,21.98C175.66,21.03 175.85,20.18 176.21,19.43C176.58,18.69 177.09,18.1 177.76,17.69C178.42,17.27 179.16,17.06 179.97,17.06C181.27,17.06 182.27,17.48 182.97,18.3C183.68,19.13 184.03,20.3 184.03,21.81L184.03,22.67L177.82,22.67C177.88,23.46 178.14,24.08 178.6,24.54C179.06,24.99 179.64,25.22 180.34,25.22C181.32,25.22 182.12,24.83 182.73,24.03L183.88,25.13C183.5,25.7 182.99,26.14 182.36,26.46C181.72,26.77 181.01,26.93 180.22,26.93ZM179.96,18.78C179.38,18.78 178.9,18.98 178.54,19.39C178.18,19.8 177.95,20.37 177.85,21.11L181.92,21.11L181.92,20.95C181.87,20.23 181.68,19.69 181.35,19.33C181.02,18.96 180.55,18.78 179.96,18.78ZM192.47,19.19C192.19,19.14 191.9,19.12 191.6,19.12C190.62,19.12 189.96,19.5 189.62,20.25L189.62,26.75L187.48,26.75L187.48,17.24L189.52,17.24L189.58,18.3C190.09,17.48 190.81,17.06 191.72,17.06C192.02,17.06 192.28,17.11 192.48,17.19L192.47,19.19Z"
android:strokeColor="#00000000"
android:strokeWidth="1" />
<path
android:fillColor="#FFFFFF"
android:fillType="nonZero"
android:pathData="M114.55,14.09C113.85,14.41 113.1,14.62 112.31,14.71C113.11,14.23 113.73,13.46 114.02,12.55C113.27,13 112.43,13.32 111.54,13.5C110.83,12.74 109.81,12.26 108.69,12.26C106.53,12.26 104.78,14.01 104.78,16.17C104.78,16.48 104.82,16.78 104.88,17.06C101.63,16.9 98.75,15.34 96.83,12.98C96.49,13.55 96.3,14.23 96.3,14.94C96.3,16.3 96.99,17.49 98.04,18.19C97.4,18.17 96.79,18 96.27,17.7L96.27,17.75C96.27,19.65 97.61,21.23 99.4,21.58C99.07,21.67 98.73,21.72 98.37,21.72C98.12,21.72 97.87,21.7 97.64,21.65C98.13,23.2 99.58,24.33 101.29,24.36C99.95,25.41 98.26,26.03 96.43,26.03C96.12,26.03 95.81,26.01 95.5,25.98C97.23,27.09 99.28,27.74 101.49,27.74C108.68,27.74 112.61,21.78 112.61,16.62L112.6,16.11C113.36,15.57 114.03,14.88 114.55,14.09Z"
android:strokeColor="#00000000"
android:strokeWidth="1" />
</vector>
\ No newline at end of file
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:viewportHeight="24.0"
android:viewportWidth="24.0">
<path
android:fillColor="#FF000000"
android:pathData="M12.65,10C11.83,7.67 9.61,6 7,6c-3.31,0 -6,2.69 -6,6s2.69,6 6,6c2.61,0 4.83,-1.67 5.65,-4H17v4h4v-4h2v-4H12.65zM7,14c-1.1,0 -2,-0.9 -2,-2s0.9,-2 2,-2 2,0.9 2,2 -0.9,2 -2,2z" />
</vector>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid
android:color="@color/colorPrimaryDark" />
<corners
android:radius="2dp" />
</shape>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:theme="@style/AuthenticationTheme">
<FrameLayout
android:id="@+id/fragment_container"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/scroll_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:animateLayoutChanges="true"
android:fillViewport="true">
<android.support.constraint.ConstraintLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/text_headline"
style="@style/HeadlineTextView"
android:text="@string/title_log_in"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:id="@+id/text_username_or_email"
style="@style/AuthenticationEditText"
android:layout_marginTop="32dp"
android:drawableStart="@drawable/ic_assignment_ind_black_24dp"
android:hint="@string/msg_username_or_email"
android:imeOptions="actionNext"
android:inputType="textEmailAddress|text"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/text_headline" />
<EditText
android:id="@+id/text_password"
style="@style/AuthenticationEditText"
android:layout_marginTop="16dp"
android:drawableStart="@drawable/ic_lock_black_24dp"
android:hint="@string/msg_password"
android:imeOptions="actionDone"
android:inputType="textPassword"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/text_username_or_email" />
<LinearLayout
android:id="@+id/social_accounts_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginEnd="@dimen/screen_edge_left_and_right_margins"
android:layout_marginStart="@dimen/screen_edge_left_and_right_margins"
android:layout_marginTop="16dp"
android:animateLayoutChanges="true"
android:background="@color/colorPrimaryDark"
android:gravity="center"
android:orientation="vertical"
android:paddingBottom="32dp"
android:paddingTop="@dimen/screen_edge_left_and_right_margins"
android:visibility="gone"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/text_password"
tools:visibility="visible">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/msg_or_continue_using_social_accounts" />
<ImageButton
android:id="@+id/button_facebook"
android:layout_width="290dp"
android:layout_height="40dp"
android:layout_marginTop="16dp"
android:contentDescription="@string/msg_content_description_log_in_using_facebook"
android:foreground="?android:attr/selectableItemBackgroundBorderless"
android:src="@drawable/ic_facebook"
android:visibility="gone"
tools:visibility="visible" />
<ImageButton
android:id="@+id/button_github"
android:layout_width="290dp"
android:layout_height="40dp"
android:layout_marginTop="16dp"
android:contentDescription="@string/msg_content_description_log_in_using_github"
android:foreground="?android:attr/selectableItemBackgroundBorderless"
android:src="@drawable/ic_github"
android:visibility="gone"
tools:visibility="visible" />
<ImageButton
android:id="@+id/button_google"
android:layout_width="290dp"
android:layout_height="40dp"
android:layout_marginTop="16dp"
android:contentDescription="@string/msg_content_description_log_in_using_google"
android:foreground="?android:attr/selectableItemBackground"
android:src="@drawable/ic_google"
android:visibility="gone"
tools:visibility="visible" />
<ImageButton
android:id="@+id/button_linkedin"
android:layout_width="290dp"
android:layout_height="40dp"
android:layout_marginTop="16dp"
android:contentDescription="@string/msg_content_description_log_in_using_linkedin"
android:foreground="?android:attr/selectableItemBackgroundBorderless"
android:src="@drawable/ic_linkedin"
android:visibility="gone"
tools:visibility="gone" />
<ImageButton
android:id="@+id/button_meteor"
android:layout_width="290dp"
android:layout_height="40dp"
android:layout_marginTop="16dp"
android:contentDescription="@string/msg_content_description_log_in_using_meteor"
android:foreground="?android:attr/selectableItemBackgroundBorderless"
android:src="@drawable/ic_meteor"
android:visibility="gone"
tools:visibility="gone" />
<ImageButton
android:id="@+id/button_twitter"
android:layout_width="290dp"
android:layout_height="40dp"
android:layout_marginTop="16dp"
android:contentDescription="@string/msg_content_description_log_in_using_twitter"
android:foreground="?android:attr/selectableItemBackgroundBorderless"
android:src="@drawable/ic_twitter"
android:visibility="gone"
tools:visibility="gone" />
<ImageButton
android:id="@+id/button_gitlab"
android:layout_width="290dp"
android:layout_height="40dp"
android:layout_marginTop="16dp"
android:contentDescription="@string/msg_content_description_log_in_using_gitlab"
android:foreground="?android:attr/selectableItemBackgroundBorderless"
android:src="@drawable/ic_gitlab"
android:visibility="gone"
tools:visibility="gone" />
</LinearLayout>
<android.support.design.widget.FloatingActionButton
android:id="@+id/button_fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_expand_more_black_24dp"
android:theme="@style/Theme.AppCompat"
android:tint="@color/white"
android:visibility="gone"
app:backgroundTint="@color/colorAccent"
app:elevation="@dimen/fab_elevation"
app:fabSize="mini"
app:layout_constraintBottom_toBottomOf="@+id/social_accounts_container"
app:layout_constraintLeft_toLeftOf="@+id/social_accounts_container"
app:layout_constraintRight_toRightOf="@+id/social_accounts_container"
app:layout_constraintTop_toBottomOf="@+id/social_accounts_container"
tools:visibility="visible" />
<TextView
android:id="@+id/text_new_to_rocket_chat"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:layout_marginEnd="@dimen/screen_edge_left_and_right_margins"
android:layout_marginStart="@dimen/screen_edge_left_and_right_margins"
android:layout_marginTop="16dp"
android:gravity="center"
android:text="@string/msg_new_to_rocket_chat"
android:visibility="gone"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/social_accounts_container"
tools:visibility="visible" />
<Button
android:id="@+id/button_log_in"
style="@style/AuthenticationButton"
android:text="@string/title_log_in"
android:visibility="visible"
app:layout_constraintBottom_toBottomOf="parent"
tools:visibility="gone" />
</android.support.constraint.ConstraintLayout>
</ScrollView>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/text_headline"
style="@style/HeadlineTextView"
android:layout_centerHorizontal="true"
android:text="@string/title_sign_in_your_server" />
<EditText
android:id="@+id/text_server_url"
style="@style/AuthenticationEditText"
android:layout_below="@id/text_headline"
android:layout_marginTop="32dp"
android:imeOptions="actionDone"
android:inputType="textUri"
android:text="@string/msg_https" />
<Button
android:id="@+id/button_connect"
style="@style/AuthenticationButton"
android:layout_alignParentBottom="true"
android:text="@string/action_connect" />
</RelativeLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/text_headline"
style="@style/HeadlineTextView"
android:text="@string/title_sign_up"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:id="@+id/text_name"
style="@style/AuthenticationEditText"
android:layout_marginTop="32dp"
android:drawableStart="@drawable/ic_person_black_24dp"
android:hint="@string/msg_name_and_surname"
android:imeOptions="actionNext"
android:inputType="textCapWords"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/text_headline" />
<EditText
android:id="@+id/text_username"
style="@style/AuthenticationEditText"
android:layout_marginTop="16dp"
android:drawableStart="@drawable/ic_at_black_24dp"
android:hint="@string/msg_username"
android:imeOptions="actionNext"
android:inputType="text"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/text_name" />
<EditText
android:id="@+id/text_password"
style="@style/AuthenticationEditText"
android:layout_marginTop="16dp"
android:drawableStart="@drawable/ic_lock_black_24dp"
android:hint="@string/msg_password"
android:imeOptions="actionNext"
android:inputType="textPassword"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/text_username" />
<EditText
android:id="@+id/text_email"
style="@style/AuthenticationEditText"
android:layout_marginTop="16dp"
android:drawableStart="@drawable/ic_email_black_24dp"
android:hint="@string/msg_email"
android:imeOptions="actionDone"
android:inputType="textEmailAddress"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/text_password" />
<TextView
android:id="@+id/text_new_user_agreement"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:layout_marginEnd="@dimen/screen_edge_left_and_right_margins"
android:layout_marginStart="@dimen/screen_edge_left_and_right_margins"
android:gravity="center"
android:text="@string/msg_new_user_agreement"
app:layout_constraintBottom_toTopOf="@+id/button_sign_up"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent" />
<Button
android:id="@+id/button_sign_up"
style="@style/AuthenticationButton"
android:text="@string/title_sign_up"
app:layout_constraintBottom_toBottomOf="parent" />
</android.support.constraint.ConstraintLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/text_headline"
style="@style/HeadlineTextView"
android:layout_centerHorizontal="true"
android:text="@string/title_log_in" />
<EditText
android:id="@+id/text_two_factor_auth"
style="@style/AuthenticationEditText"
android:layout_below="@id/text_headline"
android:layout_marginTop="32dp"
android:drawableStart="@drawable/ic_vpn_key_black_24dp"
android:hint="@string/msg_2fa_code"
android:imeOptions="actionDone"
android:inputType="text" />
<Button
android:id="@+id/button_log_in"
style="@style/AuthenticationButton"
android:layout_alignParentBottom="true"
android:text="@string/title_log_in" />
</RelativeLayout>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Titles -->
<string name="title_sign_in_your_server">Faça login no seu servidor</string>
<string name="title_log_in">Entrar</string>
<string name="title_sign_up">Inscreva-se</string>
<!-- Actions -->
<string name="action_connect">Conectar</string>
<!-- Regular information messages -->
<string name="msg_username">nome de usuário</string>
<string name="msg_username_or_email">nome de usuário ou email</string>
<string name="msg_password">senha</string>
<string name="msg_name_and_surname">nome e sobrenome</string>
<string name="msg_email">email</string>
<string name="msg_or_continue_using_social_accounts">Ou continue através de contas sociais</string>
<string name="msg_new_to_rocket_chat">Novo no Rocket Chat? <font color='#FF1976D2'>Inscreva-se</font></string>
<string name="msg_new_user_agreement">Ao proceder você concorda com nossos\n<font color='#FF1976D2'>Termos de Serviço</font> e <font color='#FF1976D2'>Política de Privacidade</font></string>
<string name="msg_2fa_code">Código 2FA</string>
<string name="msg_content_description_log_in_using_facebook">Fazer login através do Facebook</string>
<string name="msg_content_description_log_in_using_github">Fazer login através do Github</string>
<string name="msg_content_description_log_in_using_google">Fazer login através do Google</string>
<string name="msg_content_description_log_in_using_linkedin">Fazer login através do Linkedin</string>
<string name="msg_content_description_log_in_using_meteor">Fazer login através do Meteor</string>
<string name="msg_content_description_log_in_using_twitter">Fazer login através do Twitter</string>
<string name="msg_content_description_log_in_using_gitlab">Fazer login através do Gitlab</string>
</resources>
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AuthenticationEditText" parent="Widget.AppCompat.EditText">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">50dp</item>
<item name="android:layout_marginStart">@dimen/screen_edge_left_and_right_margins</item>
<item name="android:layout_marginEnd">@dimen/screen_edge_left_and_right_margins</item>
<item name="android:paddingStart">@dimen/edit_text_margin</item>
<item name="android:paddingEnd">@dimen/edit_text_margin</item>
<item name="android:maxLines">1</item>
<item name="android:drawablePadding">@dimen/edit_text_drawable_padding</item>
<item name="android:drawableTint">@color/colorDrawableTintGrey</item>
<item name="android:background">@drawable/style_edit_text</item>
</style>
</resources>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Customization of dimensions originally defined in res/values/dimens.xml for screens with more than 820dp
of available width. This would include 7" and 10" devices in landscape (~960dp and ~1280dp respectively). -->
<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="screen_edge_left_and_right_margins">24dp</dimen>
</resources>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#3F51B5</color>
<color name="colorPrimaryDark">#303F9F</color>
<color name="colorAccent">#FF4081</color>
<color name="colorPrimary">#FF303030</color> <!-- Material Grey 850 -->
<color name="colorPrimaryDark">#ff212121</color> <!-- Material Grey 900 -->
<color name="colorAccent">#FF1976D2</color> <!-- Material Blue 700 -->
<color name="colorDrawableTintGrey">#9FA2A8</color>
<color name="white">#FFFFFFFF</color>
</resources>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="screen_edge_left_and_right_margins">16dp</dimen>
<dimen name="edit_text_margin">10dp</dimen>
<dimen name="edit_text_drawable_padding">16dp</dimen>
<dimen name="fab_elevation">6dp</dimen>
</resources>
\ No newline at end of file
<resources>
<string name="app_name">Rocket Chat</string>
<string name="app_name" translatable="false">Rocket Chat</string>
<!-- Titles -->
<string name="title_sign_in_your_server">Sign in your server</string>
<string name="title_log_in">Log in</string>
<string name="title_sign_up">Sign up</string>
<!-- Actions -->
<string name="action_connect">Connect</string>
<!-- Regular information messages -->
<string name="msg_https" translatable="false">https://</string>
<string name="msg_username">username</string>
<string name="msg_username_or_email">username or email</string>
<string name="msg_password">password</string>
<string name="msg_name_and_surname">name and surname</string>
<string name="msg_email">email</string>
<string name="msg_or_continue_using_social_accounts">Or continue using social accounts</string>
<string name="msg_new_to_rocket_chat">New to Rocket Chat? <font color='#FF1976D2'>Sign up</font></string>
<string name="msg_new_user_agreement">By proceeding you are agreeing to our\n<font color='#FF1976D2'>Terms of Service</font> and <font color='#FF1976D2'>Privacy Policy</font></string>
<string name="msg_2fa_code">2FA Code</string>
<string name="msg_content_description_log_in_using_facebook">Login using Facebook</string>
<string name="msg_content_description_log_in_using_github">Login using Github</string>
<string name="msg_content_description_log_in_using_google">Login using Google</string>
<string name="msg_content_description_log_in_using_linkedin">Login using Linkedin</string>
<string name="msg_content_description_log_in_using_meteor">Login using Meteor</string>
<string name="msg_content_description_log_in_using_twitter">Login using Twitter</string>
<string name="msg_content_description_log_in_using_gitlab">Login using Gitlab</string>
</resources>
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<style name="AppTheme" parent="android:Theme.Material">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="AuthenticationTheme" parent="android:Theme.Material.NoActionBar.Fullscreen">
<item name="android:navigationBarColor">@color/colorPrimary</item>
</style>
<!-- Widget styles. -->
<style name="HeadlineTextView" parent="TextAppearance.AppCompat.Headline">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_marginTop">20dp</item>
<item name="android:layout_marginStart">@dimen/screen_edge_left_and_right_margins</item>
<item name="android:layout_marginEnd">@dimen/screen_edge_left_and_right_margins</item>
</style>
<style name="AuthenticationEditText" parent="Widget.AppCompat.EditText">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">50dp</item>
<item name="android:layout_marginStart">@dimen/screen_edge_left_and_right_margins</item>
<item name="android:layout_marginEnd">@dimen/screen_edge_left_and_right_margins</item>
<item name="android:paddingStart">@dimen/edit_text_margin</item>
<item name="android:paddingEnd">@dimen/edit_text_margin</item>
<item name="android:maxLines">1</item>
<item name="android:drawablePadding">@dimen/edit_text_drawable_padding</item>
<item name="android:background">@drawable/style_edit_text</item>
</style>
<style name="AuthenticationButton" parent="Widget.AppCompat.Button">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:background">@drawable/effect_ripple</item>
</style>
</resources>
\ No newline at end of file
......@@ -24,8 +24,9 @@ dependencies:
- echo $ROCKET_PLAY_JSON | base64 --decode > app/rocket-chat.json
- mkdir -p app/src/release/res/values
- echo $GOOGLE_SERVICES_BASE64 | base64 --decode > app/src/release/google-services.json
- echo $API_KEY_STRINGS_BASE64 | base64 --decode > app/src/release/res/values/api_key_strings.xml
# TODO: remove the comment when using that file on the project
# - echo $GOOGLE_SERVICES_BASE64 | base64 --decode > app/src/release/google-services.json
# - echo $API_KEY_STRINGS_BASE64 | base64 --decode > app/src/release/res/values/api_key_strings.xml
- echo y | android update sdk --no-ui --all --filter tools,platform-tools
- echo y | android update sdk --no-ui --all --filter android-27
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment