1
0
Fork 0

Fixes #3539 - vectordrawablecompat for gradients (#3541)

master
Tiger Oakes 2019-06-18 16:38:56 -07:00 committed by Stefan Arentz
parent b70dced16e
commit ab6101b0f4
16 changed files with 81 additions and 78 deletions

View File

@ -18,6 +18,7 @@ android {
targetSdkVersion Config.targetSdkVersion
versionCode 1
versionName Config.generateDebugVersionName()
vectorDrawables.useSupportLibrary = true
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
testInstrumentationRunnerArguments clearPackageData: 'true'
manifestPlaceholders.isRaptorEnabled = "false"

View File

@ -5,6 +5,7 @@
package org.mozilla.fenix.home.sessioncontrol.viewholders.onboarding
import android.view.View
import androidx.appcompat.content.res.AppCompatResources
import androidx.navigation.Navigation
import androidx.recyclerview.widget.RecyclerView
import kotlinx.android.synthetic.main.onboarding_firefox_account.view.*
@ -12,6 +13,13 @@ import org.mozilla.fenix.R
import org.mozilla.fenix.home.HomeFragmentDirections
class OnboardingFirefoxAccountViewHolder(private val view: View) : RecyclerView.ViewHolder(view) {
private val avatarAnonymousDrawable by lazy {
AppCompatResources.getDrawable(view.context, R.drawable.ic_onboarding_avatar_anonymous)
}
private val firefoxAccountsDrawable by lazy {
AppCompatResources.getDrawable(view.context, R.drawable.ic_onboarding_firefox_accounts)
}
init {
view.turn_on_sync_button.setOnClickListener {
val directions = HomeFragmentDirections.actionHomeFragmentToTurnOnSyncFragment()
@ -31,13 +39,10 @@ class OnboardingFirefoxAccountViewHolder(private val view: View) : RecyclerView.
}
private fun updateHeaderText(autoSignedIn: Boolean) {
val appName = view.context.getString(R.string.app_name)
val icon =
if (autoSignedIn) view.context.getDrawable(R.drawable.ic_onboarding_avatar_anonymous)
else view.context.getDrawable(R.drawable.ic_onboarding_firefox_accounts)
val icon = if (autoSignedIn) avatarAnonymousDrawable else firefoxAccountsDrawable
view.header_text.setCompoundDrawablesRelativeWithIntrinsicBounds(icon, null, null, null)
val appName = view.context.getString(R.string.app_name)
view.header_text.text =
if (autoSignedIn) view.context.getString(R.string.onboarding_firefox_account_auto_signin_header)
else view.context.getString(R.string.onboarding_firefox_account_header, appName)

View File

@ -5,10 +5,9 @@
package org.mozilla.fenix.home.sessioncontrol.viewholders.onboarding
import android.view.View
import androidx.appcompat.content.res.AppCompatResources
import androidx.recyclerview.widget.RecyclerView
import kotlinx.android.synthetic.main.onboarding_privacy_notice.view.*
import kotlinx.android.synthetic.main.onboarding_privacy_notice.view.description_text
import kotlinx.android.synthetic.main.onboarding_privacy_notice.view.header_text
import org.jetbrains.anko.dimen
import org.mozilla.fenix.R
import org.mozilla.fenix.settings.SupportUtils
@ -16,7 +15,7 @@ import org.mozilla.fenix.settings.SupportUtils
class OnboardingPrivacyNoticeViewHolder(view: View) : RecyclerView.ViewHolder(view) {
init {
val icon = view.context.getDrawable(R.drawable.ic_onboarding_privacy_notice)
val icon = AppCompatResources.getDrawable(view.context, R.drawable.ic_onboarding_privacy_notice)
val size = view.context.dimen(R.dimen.onboarding_header_icon_height_width)
icon?.setBounds(0, 0, size, size)

View File

@ -10,6 +10,7 @@ import android.text.SpannableString
import android.text.Spanned
import android.text.style.ImageSpan
import android.view.View
import androidx.appcompat.content.res.AppCompatResources
import androidx.recyclerview.widget.RecyclerView
import kotlinx.android.synthetic.main.onboarding_private_browsing.view.*
import org.mozilla.fenix.R
@ -17,7 +18,7 @@ import org.mozilla.fenix.R
class OnboardingPrivateBrowsingViewHolder(view: View) : RecyclerView.ViewHolder(view) {
init {
val iconDrawable = view.context.getDrawable(R.drawable.ic_private_browsing)!!
val iconDrawable = AppCompatResources.getDrawable(view.context, R.drawable.ic_private_browsing)!!
iconDrawable.setBounds(0, 0, view.description_text.lineHeight, view.description_text.lineHeight)
val icon = object : ImageSpan(iconDrawable) {

View File

@ -5,6 +5,7 @@
package org.mozilla.fenix.home.sessioncontrol.viewholders.onboarding
import android.view.View
import androidx.appcompat.content.res.AppCompatResources
import androidx.recyclerview.widget.RecyclerView
import kotlinx.android.synthetic.main.onboarding_tracking_protection.view.*
import org.jetbrains.anko.dimen
@ -15,7 +16,7 @@ import org.mozilla.fenix.utils.Settings
class OnboardingTrackingProtectionViewHolder(val view: View) : RecyclerView.ViewHolder(view) {
init {
val icon = view.context.getDrawable(R.drawable.ic_onboarding_tracking_protection)
val icon = AppCompatResources.getDrawable(view.context, R.drawable.ic_onboarding_tracking_protection)
val size = view.context.dimen(R.dimen.onboarding_header_icon_height_width)
icon?.setBounds(0, 0, size, size)

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<vector xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:aapt="http://schemas.android.com/aapt"
android:width="72dp"
@ -22,10 +22,10 @@
</aapt:attr>
</path>
<path
android:fillColor="#FF000000"
android:fillColor="#000000"
android:pathData="M289.8,31.5m-49,0a49,49 0,1 1,98 0a49,49 0,1 1,-98 0"/>
<path
android:fillColor="#FF000000"
android:fillColor="#000000"
android:pathData="M289.8,-4.7c-20,0 -36.2,16.2 -36.2,36.2c0,20 16.2,36.2 36.2,36.2c20,0 36.2,-16.2 36.2,-36.2C326,11.5 309.8,-4.7 289.8,-4.7zM289.8,5.7c8.6,0 15.5,6.9 15.5,15.5c0,8.6 -6.9,15.5 -15.5,15.5c-8.6,0 -15.5,-6.9 -15.5,-15.5C274.3,12.6 281.3,5.7 289.8,5.7zM311.1,46c-4.6,6.8 -12.4,11.3 -21.3,11.3s-16.6,-4.5 -21.3,-11.3c-1.3,-2 -1.2,-4.6 0.3,-6.3c5.5,-6.3 13,2.2 20.9,2.2c7.9,0 15.5,-8.5 20.9,-2.2C312.3,41.5 312.4,44.1 311.1,46z"/>
<group>
<clip-path android:pathData="M289.8,-4.7c-20,0 -36.2,16.2 -36.2,36.2c0,20 16.2,36.2 36.2,36.2c20,0 36.2,-16.2 36.2,-36.2C326,11.5 309.8,-4.7 289.8,-4.7zM289.8,5.7c8.6,0 15.5,6.9 15.5,15.5c0,8.6 -6.9,15.5 -15.5,15.5c-8.6,0 -15.5,-6.9 -15.5,-15.5C274.3,12.6 281.3,5.7 289.8,5.7zM311.1,46c-4.6,6.8 -12.4,11.3 -21.3,11.3s-16.6,-4.5 -21.3,-11.3c-1.3,-2 -1.2,-4.6 0.3,-6.3c5.5,-6.3 13,2.2 20.9,2.2c7.9,0 15.5,-8.5 20.9,-2.2C312.3,41.5 312.4,44.1 311.1,46z M 0,0"/>
@ -39,15 +39,15 @@
android:centerX="311.5509"
android:centerY="-2.3418"
android:type="radial">
<item android:offset="0.1494" android:color="#FF00DDFF"/>
<item android:offset="0.5173" android:color="#FF70BAFF"/>
<item android:offset="0.8279" android:color="#FFCB9EFF"/>
<item android:offset="0.1494" android:color="#00DDFF"/>
<item android:offset="0.5173" android:color="#70BAFF"/>
<item android:offset="0.8279" android:color="#CB9EFF"/>
</gradient>
</aapt:attr>
</path>
</group>
<path
android:fillColor="#FF000000"
android:fillColor="#000000"
android:pathData="M274.3,21.2c0,-8.6 6.9,-15.5 15.5,-15.5c8.6,0 15.5,6.9 15.5,15.5s-6.9,15.5 -15.5,15.5C281.3,36.7 274.3,29.8 274.3,21.2zM289.8,41.9c-7.9,0 -15.5,-8.5 -20.9,-2.2c-1.5,1.8 -1.7,4.4 -0.3,6.3c4.6,6.8 12.4,11.3 21.3,11.3c8.9,0 16.6,-4.5 21.3,-11.3c1.3,-2 1.2,-4.6 -0.3,-6.3C305.3,33.4 297.7,41.9 289.8,41.9z"/>
<group>
<clip-path android:pathData="M274.3,21.2c0,-8.6 6.9,-15.5 15.5,-15.5c8.6,0 15.5,6.9 15.5,15.5s-6.9,15.5 -15.5,15.5C281.3,36.7 274.3,29.8 274.3,21.2zM289.8,41.9c-7.9,0 -15.5,-8.5 -20.9,-2.2c-1.5,1.8 -1.7,4.4 -0.3,6.3c4.6,6.8 12.4,11.3 21.3,11.3c8.9,0 16.6,-4.5 21.3,-11.3c1.3,-2 1.2,-4.6 -0.3,-6.3C305.3,33.4 297.7,41.9 289.8,41.9z M 0,0"/>
@ -56,7 +56,7 @@
android:fillColor="#FBFBFE"/>
</group>
<path
android:fillColor="#FF000000"
android:fillColor="#000000"
android:pathData="M145.3,-4.1c-20,0 -36.2,16.2 -36.2,36.2c0,20 16.2,36.2 36.2,36.2c20,0 36.2,-16.2 36.2,-36.2C181.5,12.1 165.3,-4.1 145.3,-4.1zM145.3,6.3c8.6,0 15.5,6.9 15.5,15.5c0,8.6 -6.9,15.5 -15.5,15.5c-8.6,0 -15.5,-6.9 -15.5,-15.5C129.8,13.2 136.8,6.3 145.3,6.3zM166.6,46.6C162,53.5 154.2,58 145.3,58c-8.9,0 -16.6,-4.5 -21.3,-11.3c-1.3,-2 -1.2,-4.6 0.3,-6.3c5.5,-6.3 13,2.2 20.9,2.2c7.9,0 15.5,-8.5 20.9,-2.2C167.8,42.1 167.9,44.7 166.6,46.6z"/>
<group>
<clip-path android:pathData="M145.3,-4.1c-20,0 -36.2,16.2 -36.2,36.2c0,20 16.2,36.2 36.2,36.2c20,0 36.2,-16.2 36.2,-36.2C181.5,12.1 165.3,-4.1 145.3,-4.1zM145.3,6.3c8.6,0 15.5,6.9 15.5,15.5c0,8.6 -6.9,15.5 -15.5,15.5c-8.6,0 -15.5,-6.9 -15.5,-15.5C129.8,13.2 136.8,6.3 145.3,6.3zM166.6,46.6C162,53.5 154.2,58 145.3,58c-8.9,0 -16.6,-4.5 -21.3,-11.3c-1.3,-2 -1.2,-4.6 0.3,-6.3c5.5,-6.3 13,2.2 20.9,2.2c7.9,0 15.5,-8.5 20.9,-2.2C167.8,42.1 167.9,44.7 166.6,46.6z M 0,0"/>
@ -70,15 +70,15 @@
android:centerX="167.0467"
android:centerY="-1.7465"
android:type="radial">
<item android:offset="0.1494" android:color="#FF00DDFF"/>
<item android:offset="0.5173" android:color="#FF70BAFF"/>
<item android:offset="0.8279" android:color="#FFCB9EFF"/>
<item android:offset="0.1494" android:color="#00DDFF"/>
<item android:offset="0.5173" android:color="#70BAFF"/>
<item android:offset="0.8279" android:color="#CB9EFF"/>
</gradient>
</aapt:attr>
</path>
</group>
<path
android:fillColor="#FF000000"
android:fillColor="#000000"
android:pathData="M129.8,21.8c0,-8.6 6.9,-15.5 15.5,-15.5c8.6,0 15.5,6.9 15.5,15.5s-6.9,15.5 -15.5,15.5C136.8,37.3 129.8,30.4 129.8,21.8zM145.3,42.5c-7.9,0 -15.5,-8.5 -20.9,-2.2c-1.5,1.8 -1.7,4.4 -0.3,6.3c4.6,6.8 12.4,11.3 21.3,11.3s16.6,-4.5 21.3,-11.3c1.3,-2 1.2,-4.6 -0.3,-6.3C160.8,34 153.2,42.5 145.3,42.5z"/>
<group>
<clip-path android:pathData="M129.8,21.8c0,-8.6 6.9,-15.5 15.5,-15.5c8.6,0 15.5,6.9 15.5,15.5s-6.9,15.5 -15.5,15.5C136.8,37.3 129.8,30.4 129.8,21.8zM145.3,42.5c-7.9,0 -15.5,-8.5 -20.9,-2.2c-1.5,1.8 -1.7,4.4 -0.3,6.3c4.6,6.8 12.4,11.3 21.3,11.3s16.6,-4.5 21.3,-11.3c1.3,-2 1.2,-4.6 -0.3,-6.3C160.8,34 153.2,42.5 145.3,42.5z M 0,0"/>
@ -98,8 +98,8 @@
android:endY="6.5572"
android:endX="63.5488"
android:type="linear">
<item android:offset="0.2552" android:color="#FF9059FF"/>
<item android:offset="0.9618" android:color="#FF00B3F4"/>
<item android:offset="0.2552" android:color="#9059FF"/>
<item android:offset="0.9618" android:color="#00B3F4"/>
</gradient>
</aapt:attr>
</path>

View File

@ -17,11 +17,11 @@
android:endY="-6.155523"
android:endX="18.457676"
android:type="linear">
<item android:offset="0" android:color="#FF00B3F4"/>
<item android:offset="0.16" android:color="#FF07B8ED"/>
<item android:offset="0.41" android:color="#FF1AC6D8"/>
<item android:offset="0.7" android:color="#FF39DCB7"/>
<item android:offset="0.76" android:color="#FF3FE1B0"/>
<item android:offset="0" android:color="#00B3F4"/>
<item android:offset="0.16" android:color="#07B8ED"/>
<item android:offset="0.41" android:color="#1AC6D8"/>
<item android:offset="0.7" android:color="#39DCB7"/>
<item android:offset="0.76" android:color="#3FE1B0"/>
</gradient>
</aapt:attr>
</path>
@ -34,11 +34,11 @@
android:endY="-13.936461"
android:endX="26.325832"
android:type="linear">
<item android:offset="0" android:color="#FF00B3F4"/>
<item android:offset="0.16" android:color="#FF07B8ED"/>
<item android:offset="0.41" android:color="#FF1AC6D8"/>
<item android:offset="0.7" android:color="#FF39DCB7"/>
<item android:offset="0.76" android:color="#FF3FE1B0"/>
<item android:offset="0" android:color="#00B3F4"/>
<item android:offset="0.16" android:color="#07B8ED"/>
<item android:offset="0.41" android:color="#1AC6D8"/>
<item android:offset="0.7" android:color="#39DCB7"/>
<item android:offset="0.76" android:color="#3FE1B0"/>
</gradient>
</aapt:attr>
</path>

File diff suppressed because one or more lines are too long

View File

@ -8,11 +8,7 @@
android:height="24dp"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:pathData="M12 22a10 10 0 1 1 0-20 10 10 0 0 1 0 20zm0-18a8 8 0 1 0 0 16 8 8 0 0 0 0-16zm0 7c0.6 0 1 0.4 1 1v4a1 1 0 0 1-2 0v-4c0-0.6 0.4-1 1-1zm0-4a1 1 0 1 1 0 2 1 1 0 0 1 0-2z"
android:strokeWidth="1"
android:fillType="evenOdd"
android:strokeColor="#00000000">
<path android:pathData="M12 22a10 10 0 1 1 0-20 10 10 0 0 1 0 20zm0-18a8 8 0 1 0 0 16 8 8 0 0 0 0-16zm0 7c0.6 0 1 0.4 1 1v4a1 1 0 0 1-2 0v-4c0-0.6 0.4-1 1-1zm0-4a1 1 0 1 1 0 2 1 1 0 0 1 0-2z">
<aapt:attr name="android:fillColor">
<gradient
android:startY="3.2727787"
@ -20,8 +16,8 @@
android:endY="15.679591"
android:endX="6.9187684"
android:type="linear">
<item android:offset="0" android:color="#FF6A11CB"/>
<item android:offset="1" android:color="#FF2575FC"/>
<item android:offset="0" android:color="#6A11CB"/>
<item android:offset="1" android:color="#2575FC"/>
</gradient>
</aapt:attr>
</path>

View File

@ -19,8 +19,8 @@
android:startY="-0.94"
android:endX="1.81"
android:endY="16.33">
<item android:color="#FF5C29CC" android:offset="0" />
<item android:color="#FF7A145C" android:offset="1" />
<item android:color="#5C29CC" android:offset="0" />
<item android:color="#7A145C" android:offset="1" />
</gradient>
</aapt:attr>
</path>

View File

@ -10,12 +10,12 @@
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/header_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="14dp"
android:drawableStart="@drawable/ic_onboarding_firefox_accounts"
app:drawableStartCompat="@drawable/ic_onboarding_firefox_accounts"
android:drawablePadding="12dp"
android:text="@string/onboarding_firefox_account_header"
android:textAppearance="@style/Header16TextStyle"

View File

@ -4,6 +4,7 @@
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/onboarding_card"
style="@style/OnboardingCardLight"
android:layout_width="match_parent"
@ -11,7 +12,7 @@
android:orientation="vertical">
<TextView
android:id="@+id/header_text"
android:drawableStart="@drawable/ic_onboarding_privacy_notice"
app:drawableStartCompat="@drawable/ic_onboarding_privacy_notice"
android:drawablePadding="12dp"
android:layout_width="match_parent"
android:layout_height="wrap_content"

View File

@ -9,11 +9,12 @@
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:importantForAccessibility="no"
android:id="@+id/private_browsing_icon"
android:layout_width="30dp"
android:layout_height="0dp"
app:layout_constraintDimensionRatio="H,1:1"
android:src="@drawable/ic_onboarding_private_browsing"
app:srcCompat="@drawable/ic_onboarding_private_browsing"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent" />
<TextView

View File

@ -144,6 +144,7 @@
android:layout_marginStart="16dp"
android:layout_marginTop="16dp"
android:layout_marginBottom="16dp"
android:paddingStart="0dp"
android:paddingEnd="8dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"

View File

@ -13,7 +13,7 @@
android:id="@+id/header_text"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:drawableStart="@drawable/ic_onboarding_tracking_protection"
app:drawableStartCompat="@drawable/ic_onboarding_tracking_protection"
android:drawablePadding="12dp"
android:text="@string/onboarding_tracking_protection_header"
android:textAppearance="@style/HeaderTextStyle"

View File

@ -4,6 +4,7 @@
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<androidx.constraintlayout.widget.ConstraintLayout 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:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp"
@ -17,7 +18,7 @@
android:id="@+id/imageView"
android:layout_width="72dp"
android:layout_height="72dp"
android:src="@drawable/ic_fx_accounts_avatar"
app:srcCompat="@drawable/ic_fx_accounts_avatar"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
@ -31,7 +32,7 @@
android:ellipsize="none"
android:scrollHorizontally="false"
android:singleLine="true"
android:text="Title"
tools:text="Title"
android:textAppearance="@style/Header16TextStyle"
app:layout_constraintBottom_toTopOf="@android:id/summary"
app:layout_constraintEnd_toEndOf="parent"
@ -47,7 +48,7 @@
android:layout_marginBottom="8dp"
android:ellipsize="none"
android:scrollHorizontally="false"
android:text="Summary"
tools:text="Summary"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="?android:attr/textColorSecondary"
android:textSize="16sp"