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)

File diff suppressed because one or more lines are too long

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"
@ -47,4 +48,4 @@
android:textColor="?primaryText"
android:textSize="14sp" />
</FrameLayout>
</LinearLayout>
</LinearLayout>

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
@ -40,4 +41,4 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toBottomOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

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"
@ -36,4 +36,4 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/header_text"
app:layout_constraintBottom_toBottomOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

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,11 +48,11 @@
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"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/imageView" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>