From eb0712d9b4b8a6f04c0586f7e88316ec98795de5 Mon Sep 17 00:00:00 2001 From: "Juan C. Goncalves" Date: Tue, 20 Oct 2020 16:23:43 -0400 Subject: [PATCH] For #11397 - Add lint rule for AppCompatResources instead of ContextCompat (#16011) --- .../mozilla/fenix/browser/BrowserFragment.kt | 3 +- .../readermode/ReaderModeController.kt | 6 +- .../providers/MasterPasswordTipProvider.kt | 4 +- .../RecentlyClosedFragmentView.kt | 4 +- .../fenix/search/SearchDialogFragment.kt | 4 +- mozilla-lint-rules/build.gradle | 1 + .../fenix/lintrules/ContextCompatDetector.kt | 103 +++++++++++ .../fenix/lintrules/LintIssueRegistry.kt | 2 +- .../lintrules/ContextCompatDetectorTest.kt | 163 ++++++++++++++++++ 9 files changed, 278 insertions(+), 12 deletions(-) create mode 100644 mozilla-lint-rules/src/main/java/org/mozilla/fenix/lintrules/ContextCompatDetector.kt create mode 100644 mozilla-lint-rules/src/test/java/org/mozilla/fenix/lintrules/ContextCompatDetectorTest.kt diff --git a/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt b/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt index 1642afe09d..ebe364c3fe 100644 --- a/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt @@ -11,7 +11,6 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.appcompat.content.res.AppCompatResources -import androidx.core.content.ContextCompat import androidx.lifecycle.Observer import androidx.navigation.fragment.findNavController import com.google.android.material.snackbar.Snackbar @@ -86,7 +85,7 @@ class BrowserFragment : BaseBrowserFragment(), UserInteractionHandler { val readerModeAction = BrowserToolbar.ToggleButton( - image = ContextCompat.getDrawable(requireContext(), R.drawable.ic_readermode)!!, + image = AppCompatResources.getDrawable(requireContext(), R.drawable.ic_readermode)!!, imageSelected = AppCompatResources.getDrawable(requireContext(), R.drawable.ic_readermode_selected)!!, contentDescription = requireContext().getString(R.string.browser_menu_read), diff --git a/app/src/main/java/org/mozilla/fenix/browser/readermode/ReaderModeController.kt b/app/src/main/java/org/mozilla/fenix/browser/readermode/ReaderModeController.kt index 4f1de82d04..478f5dc89a 100644 --- a/app/src/main/java/org/mozilla/fenix/browser/readermode/ReaderModeController.kt +++ b/app/src/main/java/org/mozilla/fenix/browser/readermode/ReaderModeController.kt @@ -7,7 +7,7 @@ package org.mozilla.fenix.browser.readermode import android.view.View import android.widget.Button import android.widget.RadioButton -import androidx.core.content.ContextCompat +import androidx.appcompat.content.res.AppCompatResources import mozilla.components.feature.readerview.ReaderViewFeature import mozilla.components.support.base.feature.ViewBoundFeatureWrapper import org.mozilla.fenix.R @@ -54,7 +54,7 @@ class DefaultReaderModeController( findViewById