Fix 5366 - Use VectorDrawableCompat for all imagery (#7221)
* Fix 5366 - Use VectorDrawableCompat for all imagery * Fix detekt lint issues * Restore previous comment contents
This commit is contained in:
parent
cd53e9778a
commit
e727ae5d7e
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
))
|
))
|
||||||
|
|
||||||
|
|
|
@ -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))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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> {
|
||||||
|
|
|
@ -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)
|
||||||
}
|
}
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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"
|
||||||
|
|
Loading…
Reference in New Issue
Block a user