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.Transition
import androidx.transition.TransitionManager
import androidx.appcompat.content.res.AppCompatResources
import kotlinx.android.extensions.LayoutContainer
import kotlinx.android.synthetic.main.component_collection_creation.*
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.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))
view.bottom_bar_icon_button.setImageDrawable(drawable)
view.bottom_bar_icon_button.contentDescription =
@ -197,7 +198,7 @@ class CollectionCreationView(
view.bottom_bar_text.text =
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))
view.bottom_bar_icon_button.setImageDrawable(drawable)
view.bottom_bar_icon_button.contentDescription = null

View File

@ -10,6 +10,7 @@ import android.graphics.drawable.ColorDrawable
import android.os.Bundle
import android.view.ViewGroup
import androidx.core.content.ContextCompat
import androidx.appcompat.content.res.AppCompatResources
import com.google.android.material.bottomsheet.BottomSheetDialog
import kotlinx.android.synthetic.main.download_notification_layout.*
import mozilla.components.browser.state.state.content.DownloadState
@ -35,7 +36,8 @@ class DownloadNotificationBottomSheetDialog(
download_notification_title.text =
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
))
@ -56,7 +58,8 @@ class DownloadNotificationBottomSheetDialog(
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
))

View File

@ -8,6 +8,7 @@ import android.graphics.Bitmap
import android.graphics.Outline
import android.view.View
import android.view.ViewOutlineProvider
import androidx.appcompat.content.res.AppCompatResources
import androidx.recyclerview.widget.RecyclerView
import kotlinx.android.extensions.LayoutContainer
import kotlinx.android.synthetic.main.tab_list_row.*
@ -98,11 +99,11 @@ class TabViewHolder(
if (mediaState is MediaState.Playing) {
play_pause_button.contentDescription =
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 {
play_pause_button.contentDescription =
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.ListAdapter
import androidx.recyclerview.widget.RecyclerView
import androidx.appcompat.content.res.AppCompatResources
import kotlinx.android.extensions.LayoutContainer
import mozilla.components.concept.storage.BookmarkNode
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) {
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))
}
view.titleView.text = folder.node.title

View File

@ -6,6 +6,7 @@ package org.mozilla.fenix.library.bookmarks.viewholders
import android.view.View
import androidx.core.content.ContextCompat
import androidx.appcompat.content.res.AppCompatResources
import mozilla.components.concept.storage.BookmarkNode
import org.jetbrains.anko.image
import org.mozilla.fenix.R
@ -43,7 +44,10 @@ class BookmarkFolderViewHolder(
}
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))
}
containerView.titleView.text = item.title

View File

@ -6,6 +6,7 @@ package org.mozilla.fenix.search.awesomebar
import android.content.Context
import androidx.core.graphics.drawable.toBitmap
import androidx.appcompat.content.res.AppCompatResources
import mozilla.components.browser.search.SearchEngine
import mozilla.components.concept.awesomebar.AwesomeBar
import org.mozilla.fenix.R
@ -27,7 +28,7 @@ class ShortcutsSuggestionProvider(
get() = false
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> {

View File

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

View File

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

View File

@ -11,6 +11,7 @@ import android.graphics.PorterDuffColorFilter
import android.util.AttributeSet
import android.view.MotionEvent
import android.view.MotionEvent.ACTION_UP
import androidx.appcompat.content.res.AppCompatResources
import androidx.appcompat.widget.AppCompatEditText
import mozilla.components.support.ktx.android.view.putCompoundDrawablesRelativeWithIntrinsicBounds
import org.mozilla.fenix.R
@ -47,7 +48,7 @@ class ClearableEditText @JvmOverloads constructor(
override fun onTextChanged(text: CharSequence?, start: Int, lengthBefore: Int, lengthAfter: Int) {
super.onTextChanged(text, start, lengthBefore, 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)
}
} else {

View File

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

View File

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