1
0
Fork 0

Fix 5366 - Use VectorDrawableCompat for all imagery (#7221)

* Fix 5366 - Use VectorDrawableCompat for all imagery

* Fix detekt lint issues

* Restore previous comment contents
master
David Walsh 2019-12-16 22:35:36 -06:00 committed by Tiger Oakes
parent cd53e9778a
commit e727ae5d7e
11 changed files with 33 additions and 15 deletions

View File

@ -18,6 +18,7 @@ import androidx.recyclerview.widget.RecyclerView
import androidx.transition.AutoTransition import androidx.transition.AutoTransition
import androidx.transition.Transition import androidx.transition.Transition
import androidx.transition.TransitionManager import androidx.transition.TransitionManager
import androidx.appcompat.content.res.AppCompatResources
import kotlinx.android.extensions.LayoutContainer import kotlinx.android.extensions.LayoutContainer
import kotlinx.android.synthetic.main.component_collection_creation.* import kotlinx.android.synthetic.main.component_collection_creation.*
import kotlinx.android.synthetic.main.component_collection_creation.view.* import kotlinx.android.synthetic.main.component_collection_creation.view.*
@ -137,7 +138,7 @@ class CollectionCreationView(
view.bottom_button_bar_layout.setOnClickListener(null) view.bottom_button_bar_layout.setOnClickListener(null)
view.bottom_button_bar_layout.isClickable = false view.bottom_button_bar_layout.isClickable = false
val drawable = view.context.getDrawable(R.drawable.ic_close) val drawable = AppCompatResources.getDrawable(view.context, R.drawable.ic_close)
drawable?.setTint(ContextCompat.getColor(view.context, R.color.photonWhite)) drawable?.setTint(ContextCompat.getColor(view.context, R.color.photonWhite))
view.bottom_bar_icon_button.setImageDrawable(drawable) view.bottom_bar_icon_button.setImageDrawable(drawable)
view.bottom_bar_icon_button.contentDescription = view.bottom_bar_icon_button.contentDescription =
@ -197,7 +198,7 @@ class CollectionCreationView(
view.bottom_bar_text.text = view.bottom_bar_text.text =
view.context.getString(R.string.create_collection_add_new_collection) view.context.getString(R.string.create_collection_add_new_collection)
val drawable = view.context.getDrawable(R.drawable.ic_new) val drawable = AppCompatResources.getDrawable(view.context, R.drawable.ic_new)
drawable?.setTint(ContextCompat.getColor(view.context, R.color.photonWhite)) drawable?.setTint(ContextCompat.getColor(view.context, R.color.photonWhite))
view.bottom_bar_icon_button.setImageDrawable(drawable) view.bottom_bar_icon_button.setImageDrawable(drawable)
view.bottom_bar_icon_button.contentDescription = null view.bottom_bar_icon_button.contentDescription = null

View File

@ -10,6 +10,7 @@ import android.graphics.drawable.ColorDrawable
import android.os.Bundle import android.os.Bundle
import android.view.ViewGroup import android.view.ViewGroup
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.appcompat.content.res.AppCompatResources
import com.google.android.material.bottomsheet.BottomSheetDialog import com.google.android.material.bottomsheet.BottomSheetDialog
import kotlinx.android.synthetic.main.download_notification_layout.* import kotlinx.android.synthetic.main.download_notification_layout.*
import mozilla.components.browser.state.state.content.DownloadState import mozilla.components.browser.state.state.content.DownloadState
@ -35,7 +36,8 @@ class DownloadNotificationBottomSheetDialog(
download_notification_title.text = download_notification_title.text =
context.getString(R.string.mozac_feature_downloads_failed_notification_text2) context.getString(R.string.mozac_feature_downloads_failed_notification_text2)
download_notification_icon.setImageDrawable(context.getDrawable( download_notification_icon.setImageDrawable(AppCompatResources.getDrawable(
context,
mozilla.components.feature.downloads.R.drawable.mozac_feature_download_ic_download_failed mozilla.components.feature.downloads.R.drawable.mozac_feature_download_ic_download_failed
)) ))
@ -56,7 +58,8 @@ class DownloadNotificationBottomSheetDialog(
download_notification_title.text = titleText download_notification_title.text = titleText
download_notification_icon.setImageDrawable(context.getDrawable( download_notification_icon.setImageDrawable(AppCompatResources.getDrawable(
context,
mozilla.components.feature.downloads.R.drawable.mozac_feature_download_ic_download_complete mozilla.components.feature.downloads.R.drawable.mozac_feature_download_ic_download_complete
)) ))

View File

@ -8,6 +8,7 @@ import android.graphics.Bitmap
import android.graphics.Outline import android.graphics.Outline
import android.view.View import android.view.View
import android.view.ViewOutlineProvider import android.view.ViewOutlineProvider
import androidx.appcompat.content.res.AppCompatResources
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import kotlinx.android.extensions.LayoutContainer import kotlinx.android.extensions.LayoutContainer
import kotlinx.android.synthetic.main.tab_list_row.* import kotlinx.android.synthetic.main.tab_list_row.*
@ -98,11 +99,11 @@ class TabViewHolder(
if (mediaState is MediaState.Playing) { if (mediaState is MediaState.Playing) {
play_pause_button.contentDescription = play_pause_button.contentDescription =
context.getString(R.string.mozac_feature_media_notification_action_pause) context.getString(R.string.mozac_feature_media_notification_action_pause)
setImageDrawable(context.getDrawable(R.drawable.pause_with_background)) setImageDrawable(AppCompatResources.getDrawable(context, R.drawable.pause_with_background))
} else { } else {
play_pause_button.contentDescription = play_pause_button.contentDescription =
context.getString(R.string.mozac_feature_media_notification_action_play) context.getString(R.string.mozac_feature_media_notification_action_play)
setImageDrawable(context.getDrawable(R.drawable.play_with_background)) setImageDrawable(AppCompatResources.getDrawable(context, R.drawable.play_with_background))
} }
} }
} }

View File

@ -10,6 +10,7 @@ import androidx.core.content.ContextCompat
import androidx.recyclerview.widget.DiffUtil import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.ListAdapter import androidx.recyclerview.widget.ListAdapter
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import androidx.appcompat.content.res.AppCompatResources
import kotlinx.android.extensions.LayoutContainer import kotlinx.android.extensions.LayoutContainer
import mozilla.components.concept.storage.BookmarkNode import mozilla.components.concept.storage.BookmarkNode
import mozilla.components.concept.storage.BookmarkNodeType import mozilla.components.concept.storage.BookmarkNodeType
@ -71,7 +72,10 @@ class SelectBookmarkFolderAdapter(private val sharedViewModel: BookmarksSharedVi
fun bind(folder: BookmarkNodeWithDepth, selected: Boolean, onSelect: (BookmarkNode) -> Unit) { fun bind(folder: BookmarkNodeWithDepth, selected: Boolean, onSelect: (BookmarkNode) -> Unit) {
view.changeSelected(selected) view.changeSelected(selected)
view.iconView.image = containerView.context.getDrawable(R.drawable.ic_folder_icon)?.apply { view.iconView.image = AppCompatResources.getDrawable(
containerView.context,
R.drawable.ic_folder_icon
)?.apply {
setTint(ContextCompat.getColor(containerView.context, R.color.primary_text_light_theme)) setTint(ContextCompat.getColor(containerView.context, R.color.primary_text_light_theme))
} }
view.titleView.text = folder.node.title view.titleView.text = folder.node.title

View File

@ -6,6 +6,7 @@ package org.mozilla.fenix.library.bookmarks.viewholders
import android.view.View import android.view.View
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.appcompat.content.res.AppCompatResources
import mozilla.components.concept.storage.BookmarkNode import mozilla.components.concept.storage.BookmarkNode
import org.jetbrains.anko.image import org.jetbrains.anko.image
import org.mozilla.fenix.R import org.mozilla.fenix.R
@ -43,7 +44,10 @@ class BookmarkFolderViewHolder(
} }
containerView.changeSelected(item in selectionHolder.selectedItems) containerView.changeSelected(item in selectionHolder.selectedItems)
containerView.iconView.image = containerView.context.getDrawable(R.drawable.ic_folder_icon)?.apply { containerView.iconView.image = AppCompatResources.getDrawable(
containerView.context,
R.drawable.ic_folder_icon
)?.apply {
setTint(ContextCompat.getColor(containerView.context, R.color.primary_text_light_theme)) setTint(ContextCompat.getColor(containerView.context, R.color.primary_text_light_theme))
} }
containerView.titleView.text = item.title containerView.titleView.text = item.title

View File

@ -6,6 +6,7 @@ package org.mozilla.fenix.search.awesomebar
import android.content.Context import android.content.Context
import androidx.core.graphics.drawable.toBitmap import androidx.core.graphics.drawable.toBitmap
import androidx.appcompat.content.res.AppCompatResources
import mozilla.components.browser.search.SearchEngine import mozilla.components.browser.search.SearchEngine
import mozilla.components.concept.awesomebar.AwesomeBar import mozilla.components.concept.awesomebar.AwesomeBar
import org.mozilla.fenix.R import org.mozilla.fenix.R
@ -27,7 +28,7 @@ class ShortcutsSuggestionProvider(
get() = false get() = false
private val settingsIcon by lazy { private val settingsIcon by lazy {
context.getDrawable(R.drawable.ic_settings)?.toBitmap() AppCompatResources.getDrawable(context, R.drawable.ic_settings)?.toBitmap()
} }
override suspend fun onInputChanged(text: String): List<AwesomeBar.Suggestion> { override suspend fun onInputChanged(text: String): List<AwesomeBar.Suggestion> {

View File

@ -7,6 +7,7 @@ package org.mozilla.fenix.settings
import android.view.View import android.view.View
import android.widget.RadioButton import android.widget.RadioButton
import android.widget.TextView import android.widget.TextView
import androidx.appcompat.content.res.AppCompatResources
import androidx.core.text.HtmlCompat import androidx.core.text.HtmlCompat
import androidx.preference.Preference import androidx.preference.Preference
import mozilla.components.feature.sitepermissions.SitePermissions import mozilla.components.feature.sitepermissions.SitePermissions
@ -30,7 +31,7 @@ fun SitePermissions.toggle(featurePhone: PhoneFeature): SitePermissions {
*/ */
fun RadioButton.setStartCheckedIndicator() { fun RadioButton.setStartCheckedIndicator() {
val attr = ThemeManager.resolveAttribute(android.R.attr.listChoiceIndicatorSingle, context) val attr = ThemeManager.resolveAttribute(android.R.attr.listChoiceIndicatorSingle, context)
val buttonDrawable = context.getDrawable(attr) val buttonDrawable = AppCompatResources.getDrawable(context, attr)
buttonDrawable?.apply { buttonDrawable?.apply {
setBounds(0, 0, intrinsicWidth, intrinsicHeight) setBounds(0, 0, intrinsicWidth, intrinsicHeight)
} }

View File

@ -10,6 +10,7 @@ import android.view.ViewGroup
import androidx.annotation.ColorRes import androidx.annotation.ColorRes
import androidx.annotation.DrawableRes import androidx.annotation.DrawableRes
import androidx.annotation.StringRes import androidx.annotation.StringRes
import androidx.appcompat.content.res.AppCompatResources
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import kotlinx.android.extensions.LayoutContainer import kotlinx.android.extensions.LayoutContainer
import kotlinx.android.synthetic.main.quicksettings_website_info.view.* import kotlinx.android.synthetic.main.quicksettings_website_info.view.*
@ -48,7 +49,7 @@ class WebsiteInfoView(
@DrawableRes iconRes: Int, @DrawableRes iconRes: Int,
@ColorRes iconTintRes: Int @ColorRes iconTintRes: Int
) { ) {
val icon = view.context.getDrawable(iconRes) val icon = AppCompatResources.getDrawable(view.context, iconRes)
icon?.setTint(ContextCompat.getColor(view.context, iconTintRes)) icon?.setTint(ContextCompat.getColor(view.context, iconTintRes))
view.securityInfo.setText(securityInfoRes) view.securityInfo.setText(securityInfoRes)
view.securityInfo.putCompoundDrawablesRelativeWithIntrinsicBounds(start = icon) view.securityInfo.putCompoundDrawablesRelativeWithIntrinsicBounds(start = icon)

View File

@ -11,6 +11,7 @@ import android.graphics.PorterDuffColorFilter
import android.util.AttributeSet import android.util.AttributeSet
import android.view.MotionEvent import android.view.MotionEvent
import android.view.MotionEvent.ACTION_UP import android.view.MotionEvent.ACTION_UP
import androidx.appcompat.content.res.AppCompatResources
import androidx.appcompat.widget.AppCompatEditText import androidx.appcompat.widget.AppCompatEditText
import mozilla.components.support.ktx.android.view.putCompoundDrawablesRelativeWithIntrinsicBounds import mozilla.components.support.ktx.android.view.putCompoundDrawablesRelativeWithIntrinsicBounds
import org.mozilla.fenix.R import org.mozilla.fenix.R
@ -47,7 +48,7 @@ class ClearableEditText @JvmOverloads constructor(
override fun onTextChanged(text: CharSequence?, start: Int, lengthBefore: Int, lengthAfter: Int) { override fun onTextChanged(text: CharSequence?, start: Int, lengthBefore: Int, lengthAfter: Int) {
super.onTextChanged(text, start, lengthBefore, lengthAfter) super.onTextChanged(text, start, lengthBefore, lengthAfter)
val drawable = if (shouldShowClearButton(lengthAfter)) { val drawable = if (shouldShowClearButton(lengthAfter)) {
context.getDrawable(R.drawable.ic_clear)?.apply { AppCompatResources.getDrawable(context, R.drawable.ic_clear)?.apply {
colorFilter = PorterDuffColorFilter(context.getColorFromAttr(R.attr.primaryText), SRC_IN) colorFilter = PorterDuffColorFilter(context.getColorFromAttr(R.attr.primaryText), SRC_IN)
} }
} else { } else {

View File

@ -26,7 +26,7 @@
android:layout_marginEnd="@dimen/about_header_icon_margin_start_end" android:layout_marginEnd="@dimen/about_header_icon_margin_start_end"
android:contentDescription="@string/app_name" android:contentDescription="@string/app_name"
android:importantForAccessibility="no" android:importantForAccessibility="no"
android:src="?fenixLogo" app:srcCompat="?fenixLogo"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"

View File

@ -7,6 +7,7 @@
android:layout_height="fill_parent" > android:layout_height="fill_parent" >
<LinearLayout <LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android" 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_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:orientation="vertical" android:orientation="vertical"
@ -24,7 +25,7 @@
android:textAppearance="?android:attr/textAppearanceListItem" android:textAppearance="?android:attr/textAppearanceListItem"
android:background="?android:attr/selectableItemBackground" android:background="?android:attr/selectableItemBackground"
android:button="@null" android:button="@null"
android:drawableStart="?android:attr/listChoiceIndicatorSingle" app:drawableStartCompat="?android:attr/listChoiceIndicatorSingle"
android:drawablePadding="@dimen/radio_button_preference_drawable_padding" android:drawablePadding="@dimen/radio_button_preference_drawable_padding"
android:paddingTop="@dimen/radio_button_preference_vertical" android:paddingTop="@dimen/radio_button_preference_vertical"
android:paddingStart="@dimen/radio_button_preference_horizontal" android:paddingStart="@dimen/radio_button_preference_horizontal"
@ -39,7 +40,7 @@
android:textAppearance="?android:attr/textAppearanceListItem" android:textAppearance="?android:attr/textAppearanceListItem"
android:background="?android:attr/selectableItemBackground" android:background="?android:attr/selectableItemBackground"
android:button="@null" android:button="@null"
android:drawableStart="?android:attr/listChoiceIndicatorSingle" app:drawableStartCompat="?android:attr/listChoiceIndicatorSingle"
android:drawablePadding="@dimen/radio_button_preference_drawable_padding" android:drawablePadding="@dimen/radio_button_preference_drawable_padding"
android:paddingTop="@dimen/radio_button_preference_vertical" android:paddingTop="@dimen/radio_button_preference_vertical"
android:paddingStart="@dimen/radio_button_preference_horizontal" android:paddingStart="@dimen/radio_button_preference_horizontal"