blob: fa7814622b1b339134a3549b55160a0a9f1610b4 [file] [log] [blame]
<?xml version="1.0" encoding="utf-8"?>
<lint>
<!--
STOP! It looks like you want to suppress some lint errors:
- Have you tried identifing the offending patch?
Ask the author for a fix and/or revert the patch.
- It is preferred to add suppressions in the code instead of
sweeping it under the rug here. See:
http://developer.android.com/tools/debugging/improving-w-lint.html
Still reading?
- You can edit this file manually to suppress an issue
globally if it is not applicable to the project. When inserting new tags,
keep this file in sorted order.
- You can also automatically add issues found so for in the
build process by running:
build/android/lint/suppress.py
which will generate this file (Comments are not preserved).
-->
<issue id="AcceptsUserCertificates">
<!-- See https://crbug.com/827265 and comment in the file for context. -->
<ignore regexp="chrome/android/java/res/xml/network_security_config.xml"/>
<ignore regexp="android_webview/tools/system_webview_shell/apk/res/xml/network_security_config.xml"/>
<ignore regexp="test"/>
</issue>
<!-- AllowBackup defaults to true, and causes a lint warning if not explicitly set. -->
<issue id="AllowBackup">
<ignore path="AndroidManifest.xml"/>
</issue>
<!-- TODO(crbug.com/804427): Remove this suppression or add rationale. -->
<issue id="AppCompatResource" severity="ignore"/>
<!-- We use asserts in Chromium. See https://chromium.googlesource.com/chromium/src/+/master/styleguide/java/java.md#Asserts -->
<issue id="Assert" severity="ignore"/>
<issue id="Autofill">
<!-- Filed https://crbug.com/1073966 to fix -->
<ignore regexp="chrome/android/features/tab_ui/java/res/layout/bottom_tab_grid_toolbar.xml"/>
<ignore regexp="chrome/android/java/res/layout/password_entry_editor.xml"/>
<ignore regexp="components/browser_ui/widget/android/java/res/layout/radio_button_with_edit_text.xml"/>
</issue>
<issue id="AuthLeak" severity="Error">
<ignore regexp="chrome/android/javatests"/>
<ignore regexp="Test.java"/>
</issue>
<issue id="BadHostnameVerifier" severity="Error"/>
<issue id="ButtonOrder" severity="Error">
<ignore regexp="chrome/android/java/res/layout/homepage_editor.xml"/>
</issue>
<issue id="ButtonStyle" severity="Error">
<ignore regexp="remoting/android/host/res/layout/main.xml"/>
</issue>
<issue id="ClickableViewAccessibility" severity="ignore"/>
<issue id="CommitPrefEdits">
<ignore regexp="third_party/cacheinvalidation/src/java/com/google/ipc/invalidation/ticl/android2/channel/AndroidChannelPreferences.java"/>
</issue>
<issue id="ContentDescription" severity="Error">
<ignore regexp="chromecast/internal"/>
<ignore regexp="remoting/android/internal"/>
<!--TODO(crbug.com/1044658): This suppression was added blindly, and needs investigated.-->
<ignore regexp="chrome/android/java/res/layout/contacts_list_item_view.xml"/>
<!--TODO(crbug.com/1044658): This suppression was added blindly, and needs investigated.-->
<ignore regexp="chrome/android/java/res/layout/photo_picker_dialog.xml"/>
<!--TODO(crbug.com/1044658): This suppression was added blindly, and needs investigated.-->
<ignore regexp="chrome/android/java/res/layout/video_player.xml"/>
</issue>
<issue id="CustomViewStyleable">
<!-- TODO(crbug.com/1077861): Old code, good to fix. -->
<ignore regexp="components/browser_ui/widget/android/java/src/org/chromium/components/browser_ui/widget/BoundedLinearLayout.java"/>
</issue>
<issue id="DefaultLocale">
<ignore regexp="clank"/>
<ignore regexp="com/android/tv"/>
<ignore regexp="org/chromium/chrome/browser/payments/PaymentRequestMetricsTest.class"/>
<ignore regexp="third_party/cacheinvalidation/src/java/com/google/ipc/invalidation/external/client/contrib/AndroidListenerState.java"/>
<!-- TODO(crbug.com/1081240): Fix -->
<ignore regexp="chrome/android/feed/core/java/src/org/chromium/chrome/browser/feed/FeedSurfaceMediator.java"/>
<!-- TODO(crbug.com/1082222): Fix -->
<ignore regexp="chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/header/HeaderProcessor.java"/>
</issue>
<!--TODO(crbug.com/1069186): See if this new check is useful. -->
<issue id="DuplicateDefinition" severity="ignore"/>
<issue id="DuplicateIds" severity="Fatal">
<!--TODO(crbug.com/1044658): This suppression was added blindly, and needs investigated.-->
<ignore regexp="chrome/android/java/res/menu/main_menu.xml"/>
</issue>
<!-- TODO(crbug.com/635567): Fix this properly. -->
<issue id="Deprecated" severity="Error">
<ignore regexp="/test/"/>
<ignore regexp="AndroidManifest.xml"/>
<ignore regexp="android:singleLine"/>
</issue>
<issue id="DrawAllocation">
<ignore regexp="content/public/android/java/src/org/chromium/content/browser/ContentViewRenderView.java"/>
<ignore regexp="content/public/android/java/src/org/chromium/content/browser/PopupZoomer.java"/>
</issue>
<!-- TODO(crbug.com/804432): Remove this and fix the offending xml files. -->
<issue id="EllipsizeMaxLines" severity="ignore"/>
<issue id="ExifInterface">
<!-- TODO(crbug.com/804438): Cannot update until android.media.ExifInterface supports file descriptors -->
<ignore regexp="chrome/android/java/src/org/chromium/chrome/browser/photo_picker/BitmapUtils.java"/>
</issue>
<issue id="ExportedContentProvider">
<ignore path="AndroidManifest.xml"/>
</issue>
<issue id="ExportedService" severity="Error">
<ignore regexp="AndroidManifest.xml"/>
</issue>
<!-- TODO(crbug.com/635567): Fix this properly. -->
<issue id="GoogleAppIndexingUrlError" severity="Error">
<ignore regexp="AndroidManifest.xml"/>
</issue>
<!-- TODO(crbug.com/635567): Fix this properly. -->
<issue id="GoogleAppIndexingWarning" severity="Error">
<ignore regexp="AndroidManifest.xml"/>
</issue>
<issue id="HandlerLeak">
<ignore regexp="android_webview/glue/java/src/com/android/webview/chromium/WebViewContentsClientAdapter.java"/>
<ignore regexp="chromecast/internal"/>
<ignore regexp="remoting/android/java/src/org/chromium/chromoting/TapGestureDetector.java"/>
</issue>
<issue id="HardcodedDebugMode" severity="Fatal">
<ignore path="AndroidManifest.xml"/>
</issue>
<issue id="HardcodedText" severity="Error">
<ignore regexp="chromecast/internal"/>
<ignore regexp="remoting/android/host/res/layout/main.xml"/>
</issue>
<issue id="IconColors" severity="Error">
<ignore regexp="tools/android/audio_focus_grabber/java/res/drawable-hdpi/notification_icon.png"/>
<ignore regexp="tools/android/audio_focus_grabber/java/res/drawable-mdpi/notification_icon.png"/>
<ignore regexp="tools/android/audio_focus_grabber/java/res/drawable-xhdpi/notification_icon.png"/>
<ignore regexp="tools/android/audio_focus_grabber/java/res/drawable-xxhdpi/notification_icon.png"/>
<ignore regexp="tools/android/audio_focus_grabber/java/res/drawable-xxxhdpi/notification_icon.png"/>
</issue>
<issue id="IconDensities">
<!-- This is intentional to reduce APK size. See: http://crrev/c/1352161 -->
<ignore regexp="chrome/android/features/autofill_assistant/java/res/drawable-*"/>
<!-- crbug.com/457918 is tracking missing assets -->
<ignore regexp="chrome/android/java/res/drawable-xxhdpi"/>
<ignore regexp="chrome/android/java/res/drawable-xxxhdpi"/>
<!-- This is intentional to save on WebAPKs' size. -->
<ignore regexp="chrome/android/webapk/shell_apk/res/drawable-*"/>
<ignore regexp="chromecast/internal"/>
<ignore regexp="content/public/android/java/res/drawable-xxhdpi"/>
<ignore regexp="content/public/android/java/res/drawable-xxxhdpi"/>
<ignore regexp="ui/android/java/res/drawable-xxhdpi"/>
<ignore regexp="ui/android/java/res/drawable-xxxhdpi"/>
<ignore regexp="remoting/android/internal"/>
</issue>
<issue id="IconDipSize">
<!-- These only need to be 1px for all densities. See: crbug.com/804449 -->
<ignore regexp="chrome/android/java/res/.*tab_strip_fade"/>
<ignore regexp="chromecast/internal"/>
</issue>
<issue id="IconDuplicates" severity="Error">
<!-- mipmap version is used for app launcher only. drawables used for notifications -->
<ignore regexp="chromecast/browser/android/apk/res/mipmap-.*/app_icon.png"/>
<ignore regexp="chromecast/internal"/>
<!-- Filed https://crbug.com/1073963 -->
<ignore regexp="clank/java/res_default/mipmap-.*/app_shortcut_icon.png"/>
</issue>
<issue id="IconDuplicatesConfig" severity="Error">
<ignore regexp="chromecast/internal"/>
<ignore regexp="remoting/android/internal"/>
</issue>
<issue id="IconLauncherFormat" severity="ignore"/>
<issue id="IconLauncherShape" severity="Error">
<ignore regexp="chrome/android/webapk/shell_apk/res/mipmap-mdpi/ic_launcher_background.png"/>
<ignore regexp="chromecast/internal"/>
</issue>
<issue id="IconLocation">
<!-- This is just for testing -->
<ignore regexp="chrome/test/chromedriver/test/webview_shell/java/res/drawable/icon.png"/>
<ignore regexp="chromecast/internal"/>
<!-- It is OK for content_shell_apk to have missing assets. -->
<ignore regexp="content/shell/android/java/res/"/>
<!-- Memconsumer is only for tooling -->
<ignore regexp="tools/android/memconsumer/java/res/drawable/"/>
</issue>
<issue id="IconMissingDensityFolder">
<!-- see crbug.com/542435 -->
<ignore regexp="android_webview/nonembedded/java/res"/>
<ignore regexp="android_webview/tools/system_webview_shell/apk/res"/>
<!-- This is intentional to reduce APK size. See: http://crrev/c/1352161 -->
<ignore regexp="chrome/android/features/autofill_assistant/java/res"/>
<ignore regexp="chrome/android/webapk/shell_apk/res"/>
<ignore regexp="chromecast/internal"/>
<!-- crbug.com/457918 is tracking missing assets -->
<ignore regexp="components/embedder_support/android/java/res"/>
<ignore regexp="tools/android/push_apps_to_background/res"/>
<ignore regexp="ui/android/java/res"/>
</issue>
<issue id="ImpliedQuantity" severity="Error">
<ignore regexp="chrome/browser/ui/android/strings/ui_strings_grd"/>
<ignore regexp="components/browser_ui/strings/android/browser_ui_strings_grd"/>
<ignore regexp="clank/third_party/chime/chime_systemtray_strings_grd.resources.zip"/>
</issue>
<issue id="IncludeLayoutParam" severity="Error">
<!--TODO(crbug.com/1044658): This suppression was added blindly, and needs investigated.-->
<ignore regexp="chrome/android/java/res/layout/start_top_toolbar.xml"/>
</issue>
<issue id="InsecureBaseConfiguration">
<!-- See https://crbug.com/827265 and comment in the file for context. -->
<ignore regexp="chrome/android/java/res/xml/network_security_config.xml"/>
<ignore regexp="android_webview/tools/system_webview_shell/apk/res/xml/network_security_config.xml"/>
<ignore regexp="test"/>
</issue>
<issue id="InconsistentArrays" severity="Error">
<ignore regexp="android_webview/locale_paks.resources.zip/values/locale-paks.xml"/>
<ignore regexp="chrome/android/chrome_locale_paks.resources.zip/values/locale-paks.xml"/>
<ignore regexp="preloaded_fonts.xml"/>
</issue>
<issue id="InconsistentLayout" severity="ignore"/>
<issue id="InefficientWeight" severity="Error">
<ignore regexp="android_webview/tools/system_webview_shell/apk/res/layout/activity_webview_browser.xml"/>
</issue>
<issue id="InflateParams" severity="ignore"/>
<issue id="InlinedApi" severity="ignore"/>
<issue id="InvalidVectorPath" severity="ignore"/>
<issue id="JobSchedulerService" severity="ignore"/>
<!-- TODO(crbug.com/804453): Remove this after fixing. -->
<issue id="KeyboardInaccessibleWidget" severity="ignore"/>
<issue id="LabelFor" severity="Error">
<ignore regexp="android_webview/tools/system_webview_shell/apk/res/layout/activity_webview_browser.xml"/>
</issue>
<issue id="LintError">
<!-- We no longer supply class files to lint. -->
<ignore regexp="No `.class` files were found in project"/>
</issue>
<issue id="LogConditional" severity="ignore"/>
<issue id="LongLogTag" severity="ignore"/>
<issue id="MergeRootFrame" severity="Error">
<!-- TODO(crbug.com/1039415): Remove suppression after fixing bug. -->
<ignore regexp="chrome/android/feed/core/java/res/layout/feed_more_button.xml"/>
</issue>
<issue id="MissingApplicationIcon" severity="ignore"/>
<issue id="MissingDefaultResource">
<!-- Only used by ToolbarControlContainer guarded by tablet form-factor. -->
<ignore regexp="toolbar_background.9.png"/>
<!-- Only used by FirstRunFlowSequencer guarded by tablet form-factor. -->
<ignore regexp="window_background.xml"/>
<!--TODO(crbug.com/1044658): This suppression was added blindly, and needs investigated.-->
<ignore regexp="chrome/android/java/res/layout-sw360dp/preference_spinner_single_line.xml"/>
</issue>
<issue id="MissingPermission" severity="ignore"/>
<!-- TODO(yolandyan) remove this once all tests are converted to junit4 -->
<issue id="MissingPrefix" severity="ignore"/>
<issue id="MissingQuantity">
<ignore regexp="android_chrome_strings.xml"/>
<ignore regexp="android_chrome_tab_ui_strings.xml"/>
<ignore regexp="components/browser_ui/strings/android/browser_ui_strings_grd"/>
<ignore regexp="clank/third_party/chime/chime_systemtray_strings_grd.resources.zip"/>
</issue>
<issue id="MissingRegistered" severity="ignore"/>
<issue id="MissingSuperCall" severity="Error">
<ignore regexp="chrome/android/java/src/org/chromium/chrome/browser/widget/selection/SelectionToolbar.java"/>
</issue>
<issue id="MissingTranslation">
<!-- http://crbug.com/450548 -->
<ignore regexp="chromecast/internal"/>
<ignore regexp="restriction_values.xml.*"/>
<ignore regexp="remoting/resources/strings_java.resources.zip"/>
</issue>
<issue id="MissingVersion">
<ignore path="AndroidManifest.xml"/>
</issue>
<issue id="NewApi">
<!-- Do not add new suppressions without rationale. -->
<!-- 2: We support these via desugar. -->
<ignore regexp="Default method requires API level 24"/>
<ignore regexp="Static interface method requires API level 24"/>
<!-- 1: TaskInfo is refactored at API 29. -->
<ignore regexp="Field requires API level .*`android.app.TaskInfo"/>
<!-- 1: This is for testonly target android_support_chromium_java in android_sdk. -->
<ignore regexp="third_party/android_sdk/public/extras/chromium/support/src/org/chromium/android/support/PackageManagerWrapper.java"/>
<!-- 1: TODO(crbug.com/1081243): Fix -->
<ignore regexp="chrome/android/java/src/org/chromium/chrome/browser/photo_picker/PickerVideoPlayer.java"/>
<!-- 1: TODO(crbug.com/1082222): Fix -->
<ignore regexp="chrome/android/java/src/org/chromium/chrome/browser/omnibox/suggestions/header/HeaderView.java"/>
<!-- Endnote: Please specify number of suppressions when adding more -->
</issue>
<!-- This warning just adds a lot of false positives. -->
<issue id="ObsoleteSdkInt" severity="ignore"/>
<issue id="OldTargetApi">
<ignore path="AndroidManifest.xml"/>
</issue>
<issue id="OnClick">
<!-- False positive, see: http://issuetracker.google.com/148523770 for similar issue. -->
<ignore regexp="tools/android/audio_focus_grabber/java/res/layout/audio_focus_grabber_activity.xml"/>
</issue>
<issue id="Overdraw" severity="ignore"/>
<issue id="PackageManagerGetSignatures">
<ignore regexp="chrome/android/java/src/org/chromium/chrome/browser/browserservices/OriginVerifier.java"/>
<ignore regexp="chrome/android/webapk/libs/client/src/org/chromium/webapk/lib/client/WebApkValidator.java"/>
</issue>
<issue id="PluralsCandidate" severity="Error">
<ignore regexp="chrome/browser/ui/android/strings/ui_strings_grd.resources.zip/values-en-rGB/android_chrome_strings.xml"/>
<ignore regexp="chrome/browser/ui/android/strings/ui_strings_grd.resources.zip/values/android_chrome_strings.xml"/>
</issue>
<issue id="PrivateApi" severity="ignore"/>
<!-- Chrome is a system app. -->
<issue id="ProtectedPermissions" severity="ignore"/>
<issue id="Recycle" severity="ignore"/>
<issue id="Registered" severity="ignore"/>
<issue id="ResourceAsColor" severity="ignore"/>
<issue id="ResourceType" severity="Error">
<ignore regexp="/javatests/"/>
</issue>
<!-- TODO(crbug.com/831774): Play Services starts complaining about RestrictedApi. Needs investigation -->
<issue id="RestrictedApi" severity="ignore"/>
<issue id="RtlCompat" severity="ignore"/>
<issue id="RtlEnabled" severity="ignore"/>
<issue id="RtlHardcoded" severity="Error">
<ignore regexp="remoting/android/internal"/>
<!--TODO(crbug.com/1044658): This suppression was added blindly, and needs investigated.-->
<ignore regexp="chrome/android/java/res/layout/sheet_tab_toolbar.xml"/>
</issue>
<issue id="RtlSymmetry" severity="ignore"/>
<issue id="SetJavaScriptEnabled" severity="ignore"/>
<issue id="SignatureOrSystemPermissions" severity="ignore"/>
<issue id="SpUsage" severity="Error">
<ignore regexp="chromecast/internal"/>
</issue>
<issue id="StaticFieldLeak">
<!-- Nice to fix, but not necessary or performance critical. -->
<ignore regexp="This `AsyncTask` class should be static or leaks might occur"/>
</issue>
<issue id="StringFormatCount" severity="Error">
<ignore regexp="chrome/browser/ui/android/strings/ui_strings_grd.resources.zip/values-cs/android_chrome_strings.xml"/>
<ignore regexp="chrome/browser/ui/android/strings/ui_strings_grd.resources.zip/values-fr/android_chrome_strings.xml"/>
<ignore regexp="chrome/browser/ui/android/strings/ui_strings_grd.resources.zip/values-pl/android_chrome_strings.xml"/>
<ignore regexp="chrome/browser/ui/android/strings/ui_strings_grd.resources.zip/values/android_chrome_strings.xml"/>
</issue>
<!-- Most .xtb files in this group have a % that is not part of a formatted string. https://crbug.com/941164 -->
<issue id="StringFormatInvalid" severity="Error">
<ignore regexp="chrome/browser/ui/android/strings/ui_strings_grd.resources.zip/values-cs/android_chrome_strings.xml"/>
<ignore regexp="chrome/browser/ui/android/strings/ui_strings_grd.resources.zip/values-da/android_chrome_strings.xml"/>
<ignore regexp="chrome/browser/ui/android/strings/ui_strings_grd.resources.zip/values-et/android_chrome_strings.xml"/>
<ignore regexp="chrome/browser/ui/android/strings/ui_strings_grd.resources.zip/values-is/android_chrome_strings.xml"/>
<ignore regexp="chrome/browser/ui/android/strings/ui_strings_grd.resources.zip/values-pl/android_chrome_strings.xml"/>
<ignore regexp="chrome/browser/ui/android/strings/ui_strings_grd.resources.zip/values-pt-rBR/android_chrome_strings.xml"/>
<ignore regexp="chrome/browser/ui/android/strings/ui_strings_grd.resources.zip/values-sq/android_chrome_strings.xml"/>
<ignore regexp="chrome/browser/ui/android/strings/ui_strings_grd.resources.zip/values-sv/android_chrome_strings.xml"/>
<ignore regexp="chrome/browser/ui/android/strings/ui_strings_grd.resources.zip/values-tl/android_chrome_strings.xml"/>
<ignore regexp="chrome/browser/ui/android/strings/ui_strings_grd.resources.zip/values-uz/android_chrome_strings.xml"/>
</issue>
<!-- We have many C++ enums that we don't care about in java -->
<issue id="SwitchIntDef" severity="ignore"/>
<issue id="TextFields" severity="Error">
<ignore regexp="chromecast/internal"/>
</issue>
<issue id="TypographyDashes" severity="Error">
<ignore regexp="chrome/app/policy/android/values-v21/restriction_values.xml"/>
</issue>
<!-- Typos check disabled due to lint bug: http://crbug.com/671170 -->
<issue id="Typos" severity="ignore"/>
<!-- Our generated enums are allowed to have the same values. -->
<issue id="UniqueConstants" severity="ignore"/>
<issue id="UnusedAttribute" severity="ignore"/>
<issue id="UnusedIds" severity="ignore"/>
<issue id="UnusedQuantity" severity="Error">
<!-- This is needed for suppressing warnings on upstream and downstream build bots -->
<ignore regexp="chrome/android/features/tab_ui/java_strings_grd.resources.zip/values-cs/android_chrome_tab_ui_strings.xml"/>
<ignore regexp="chrome/android/features/tab_ui/java_strings_grd.resources.zip/values-in/android_chrome_tab_ui_strings.xml"/>
<ignore regexp="chrome/android/features/tab_ui/java_strings_grd.resources.zip/values-ja/android_chrome_tab_ui_strings.xml"/>
<ignore regexp="chrome/android/features/tab_ui/java_strings_grd.resources.zip/values-km/android_chrome_tab_ui_strings.xml"/>
<ignore regexp="chrome/android/features/tab_ui/java_strings_grd.resources.zip/values-ko/android_chrome_tab_ui_strings.xml"/>
<ignore regexp="chrome/android/features/tab_ui/java_strings_grd.resources.zip/values-lo/android_chrome_tab_ui_strings.xml"/>
<ignore regexp="chrome/android/features/tab_ui/java_strings_grd.resources.zip/values-lt/android_chrome_tab_ui_strings.xml"/>
<ignore regexp="chrome/android/features/tab_ui/java_strings_grd.resources.zip/values-ms/android_chrome_tab_ui_strings.xml"/>
<ignore regexp="chrome/android/features/tab_ui/java_strings_grd.resources.zip/values-my/android_chrome_tab_ui_strings.xml"/>
<ignore regexp="chrome/android/features/tab_ui/java_strings_grd.resources.zip/values-sk/android_chrome_tab_ui_strings.xml"/>
<ignore regexp="chrome/android/features/tab_ui/java_strings_grd.resources.zip/values-th/android_chrome_tab_ui_strings.xml"/>
<ignore regexp="chrome/android/features/tab_ui/java_strings_grd.resources.zip/values-vi/android_chrome_tab_ui_strings.xml"/>
<ignore regexp="chrome/android/features/tab_ui/java_strings_grd.resources.zip/values-zh-rCN/android_chrome_tab_ui_strings.xml"/>
<ignore regexp="chrome/android/features/tab_ui/java_strings_grd.resources.zip/values-zh-rHK/android_chrome_tab_ui_strings.xml"/>
<ignore regexp="chrome/android/features/tab_ui/java_strings_grd.resources.zip/values-zh-rTW/android_chrome_tab_ui_strings.xml"/>
<ignore regexp="chrome/browser/ui/android/strings/ui_strings_grd.resources.zip/values-cs/android_chrome_strings.xml"/>
<ignore regexp="chrome/browser/ui/android/strings/ui_strings_grd.resources.zip/values-in/android_chrome_strings.xml"/>
<ignore regexp="chrome/browser/ui/android/strings/ui_strings_grd.resources.zip/values-ja/android_chrome_strings.xml"/>
<ignore regexp="chrome/browser/ui/android/strings/ui_strings_grd.resources.zip/values-km/android_chrome_strings.xml"/>
<ignore regexp="chrome/browser/ui/android/strings/ui_strings_grd.resources.zip/values-ko/android_chrome_strings.xml"/>
<ignore regexp="chrome/browser/ui/android/strings/ui_strings_grd.resources.zip/values-lo/android_chrome_strings.xml"/>
<ignore regexp="chrome/browser/ui/android/strings/ui_strings_grd.resources.zip/values-lt/android_chrome_strings.xml"/>
<ignore regexp="chrome/browser/ui/android/strings/ui_strings_grd.resources.zip/values-ms/android_chrome_strings.xml"/>
<ignore regexp="chrome/browser/ui/android/strings/ui_strings_grd.resources.zip/values-my/android_chrome_strings.xml"/>
<ignore regexp="chrome/browser/ui/android/strings/ui_strings_grd.resources.zip/values-sk/android_chrome_strings.xml"/>
<ignore regexp="chrome/browser/ui/android/strings/ui_strings_grd.resources.zip/values-th/android_chrome_strings.xml"/>
<ignore regexp="chrome/browser/ui/android/strings/ui_strings_grd.resources.zip/values-vi/android_chrome_strings.xml"/>
<ignore regexp="chrome/browser/ui/android/strings/ui_strings_grd.resources.zip/values-zh-rCN/android_chrome_strings.xml"/>
<ignore regexp="chrome/browser/ui/android/strings/ui_strings_grd.resources.zip/values-zh-rHK/android_chrome_strings.xml"/>
<ignore regexp="chrome/browser/ui/android/strings/ui_strings_grd.resources.zip/values-zh-rTW/android_chrome_strings.xml"/>
<ignore regexp="clank/third_party/chime/chime_systemtray_strings_grd.resources.zip"/>
<ignore regexp="components/browser_ui/strings/android/browser_ui_strings_grd"/>
</issue>
<issue id="UnusedResources">
<!-- Do not add new suppressions without rationale. -->
<!-- 3 raw resources are accessed by URL in various places -->
<ignore regexp="gen/remoting/android/.*/res/raw/credits.html"/>
<ignore regexp="gen/remoting/android/.*/res/raw/credits_css.css"/>
<ignore regexp="gen/remoting/android/.*/res/raw/credits_js.js"/>
<!-- 1 all resources in remoting internal -->
<ignore regexp="remoting/android/internal"/>
<!-- 1 string test only, used in CronetSmokeTestCase dynamically -->
<ignore regexp="R.string.TestSupportImplClass"/>
<!-- 1 resource used by android webview glue layer, could be refactored -->
<ignore regexp="R.string.private_browsing_warning"/>
<!-- 4 The WAM server currently has 2 codes paths for minting a WebAPK, and
it needs these "unused" resources.
TODO(crbug.com/1001115): Remove suppression once 2 code paths are merged -->
<ignore regexp="The resource `R.mipmap.ic_launcher_background` appears to be unused"/>
<ignore regexp="The resource `R.mipmap.ic_launcher_foreground` appears to be unused"/>
<ignore regexp="The resource `R.mipmap.maskable_splash_icon_xxhdpi` appears to be unused"/>
<ignore regexp="The resource `R.mipmap.maskable_splash_icon_xxxhdpi` appears to be unused"/>
<!-- 1 Module titles may only be used by the Play Store. -->
<ignore regexp="The resource `R.string.*_module_title` appears to be unused"/>
<!-- 2 resource sets used by clank widgets for each channel -->
<ignore regexp="The resource `R.string.bookmark_widget_title.*` appears to be unused"/>
<ignore regexp="The resource `R.string.search_widget_title.*` appears to be unused"/>
<!-- crbug.com/1004570 remove this line and the following seven lines after the bug resolved -->
<ignore regexp="The resource `R.string.accessibility_tab_suggestion_review_button` appears to be unused"/>
<ignore regexp="The resource `R.string.accessibility_tab_suggestion_close_stale_message` appears to be unused"/>
<ignore regexp="The resource `R.string.accessibility_tab_suggestion_dismiss_button` appears to be unused"/>
<ignore regexp="The resource `R.plurals.accessibility_tab_suggestion_close_tab_action_button` appears to be unused"/>
<ignore regexp="The resource `R.string.tab_suggestion_close_stale_message` appears to be unused"/>
<ignore regexp="The resource `R.string.tab_suggestion_close_tab_action_button` appears to be unused"/>
<ignore regexp="The resource `R.string.tab_suggestion_review_button` appears to be unused"/>
<!-- crbug.com/1076295 remove this line and the following four lines after the bug is resolved -->
<ignore regexp="The resource `R.string.undo_tab_strip_closure_message` appears to be unused"/>
<ignore regexp="The resource `R.string.tab_strip_info_bar_question` appears to be unused"/>
<ignore regexp="The resource `R.string.tab_strip_info_bar_no_reshow` appears to be unused"/>
<ignore regexp="The resource `R.string.tab_strip_info_bar_reshow` appears to be unused"/>
<!-- crbug.com/1076538 remove this line and the following three lines after the bug is resolved -->
<ignore regexp="The resource `R.plurals.accessibility_tab_selection_editor_group_button` appears to be unused"/>
<ignore regexp="The resource `R.string.accessibility_tab_suggestion_group_tabs_message` appears to be unused"/>
<ignore regexp="The resource `R.string.tab_suggestion_group_tabs_message` appears to be unused"/>
<!-- Old-style and new-style WebAPKs use same resources for simplicity. Old-style WebAPKs do
not use R.style.SplashTheme but new-style WebAPKs do.
TODO(crbug.com/971254): Remove suppression once old-style WebAPKs are deprecated. -->
<ignore regexp="The resource `R.style.SplashTheme` appears to be unused"/>
<!-- 1 resource used by android webview glue layer, could be refactored -->
<ignore regexp="android_webview/java/res/drawable-hdpi/ic_play_circle_outline_black_48dp.png"/>
<!-- 3 resources test only, used in webview tests dynamically -->
<ignore regexp="android_webview/test/shell/res/raw/resource_file.html"/>
<ignore regexp="android_webview/test/shell/res/raw/resource_icon.png"/>
<ignore regexp="android_webview/tools/automated_ui_tests/java/res/layout/"/>
<!-- TODO(crbug.com/1017190): Remove the following 11 suppressions once we lint entire app rather
than each individual target -->
<ignore regexp="components/browser_ui/strings/android/browser_ui_strings_grd"/>
<ignore regexp="chrome/browser/download/android/java/res"/>
<ignore regexp="The resource `R.drawable.ic_file_download_36dp` appears to be unused"/>
<ignore regexp="The resource `R.drawable.ic_play_arrow_white_24dp` appears to be unused"/>
<ignore regexp="chrome/browser/ui/android/strings/ui_strings_grd"/>
<ignore regexp="The resource `R.drawable.*_expand_.*` appears to be unused"/>
<ignore regexp="The resource `R.drawable.btn_close` appears to be unused"/>
<ignore regexp="The resource `R.drawable.ic_more_vert_24dp_on_dark_bg` appears to be unused"/>
<ignore regexp="The resource `R.layout.permission_dialog` appears to be unused"/>
<ignore regexp="components/browser_ui/styles/android/java/res"/>
<ignore regexp="components/permissions/android/res/drawable"/>
<!-- 1 resource used by android tv to generate resources.zip file -->
<ignore regexp="chromecast/internal/shell/browser/android/java/res/drawable-hdpi/ic_settings_cast.png"/>
<!-- 1 string used by Android's policies system, pulled from app directly -->
<ignore regexp="restriction_values.xml"/>
<!--TODO(crbug.com/1044658): This suppression was added blindly, and needs investigated.-->
<ignore regexp="../obj/components/strings/components_strings_grd.resources.zip/values/components_strings.xml"/>
<!--TODO(crbug.com/1044658): This suppression was added blindly, and needs investigated.-->
<ignore regexp="chrome/android/java/res/values/dimens.xml"/>
<!--TODO(crbug.com/1044658): This suppression was added blindly, and needs investigated.-->
<ignore regexp="chrome/android/java/res/layout-sw360dp/preference_spinner_single_line.xml"/>
<!--TODO(crbug.com/1044658): This suppression was added blindly, and needs investigated.-->
<ignore regexp="chrome/android/java/res/values/styles.xml"/>
<!--TODO(crbug.com/1044658): This suppression was added blindly, and needs investigated.-->
<ignore regexp="chrome/android/java/res/layout/tab_switcher_action_menu_layout.xml"/>
<!--TODO(crbug.com/1052375): Remove this suppression once ConnectionInfoPopAndroid moves to components.-->
<ignore regexp="components/page_info/android/java/res/drawable-hdpi/pageinfo_*"/>
<!--TODO(crbug.com/1052375): Remove this suppression once PermissionParamsListBuilder moves to components.-->
<ignore regexp="The resource `R.string.page_info_permission_ads_subtitle` appears to be unused" />
<!--TODO(crbug.com/1069186): The following 12 are found when we switched to linting the entire app. -->
<ignore regexp="The resource `R.string.download_manager_ui_documents` appears to be unused" />
<ignore regexp="The resource `R.string.download_manager_offline_home` appears to be unused" />
<ignore regexp="The resource `R.string.ntp_learn_more_about_suggested_content` appears to be unused" />
<ignore regexp="The resource `R.string.ntp_feed_menu_iph` appears to be unused" />
<ignore regexp="The resource `R.string.tab_switcher_button_label` appears to be unused" />
<ignore regexp="The resource `R.string.prefs_autofill_assistant_switch` appears to be unused" />
<ignore regexp="The resource `R.string.storage_clear_dialog_text` appears to be unused" />
<ignore regexp="The resource `R.string.website_settings_category_notifications_block` appears to be unused" />
<ignore regexp="The resource `R.string.autofill_cc_google_issued` appears to be unused" />
<ignore regexp="The resource `R.string.notification_manage_button` appears to be unused" />
<ignore regexp="The resource `R.string.app_banner_add` appears to be unused" />
<ignore regexp="The resource `R.string.notification_category_permission_requests` appears to be unused" />
<ignore regexp="The resource `R.drawable.ic_launcher_background` appears to be unused" />
<ignore regexp="The resource `R.string.combined_notification_text` appears to be unused" />
<ignore regexp="The resource `R.plurals.public_notification_text` appears to be unused" />
<ignore regexp="The resource `R.mipmap.app_shortcut_icon` appears to be unused" />
<ignore regexp="The resource `R.mipmap.app_single_page_icon` appears to be unused" />
<!-- Endnote: Please specify number of suppressions when adding more -->
</issue>
<issue id="UsableSpace">
<!-- TODO(crbug.com/1077861): Old code, good to fix. -->
<ignore regexp="chrome/browser/download/android/java/src/org/chromium/chrome/browser/download/DownloadDirectoryProvider.java"/>
<ignore regexp="chrome/android/java/src/org/chromium/chrome/browser/download/OMADownloadHandler.java"/>
<ignore regexp="chrome/android/java/src/org/chromium/chrome/browser/offlinepages/OfflinePageUtils.java"/>
<ignore regexp="chrome/android/java/src/org/chromium/chrome/browser/download/home/storage/StorageSummaryProvider.java"/>
</issue>
<issue id="UseCompoundDrawables">
<!-- Upscaling 24dp to 48dp doesn't work as expected with a TextView compound drawable. -->
<ignore regexp="chrome/android/java/res/layout/photo_picker_bitmap_view.xml"/>
</issue>
<!-- TODO(crbug.com/807734): Investigate and possible remove this -->
<issue id="UseSparseArrays" severity="ignore"/>
<issue id="UselessParent">
<ignore regexp="android_webview/tools/system_webview_shell/apk/res/layout/activity_webview_browser.xml"/>
<ignore regexp="chrome/android/java/res/layout/data_usage_breakdown.xml"/>
<ignore regexp="chromecast/internal"/>
<ignore regexp="tools/android/kerberos/SpnegoAuthenticator/res/layout/activity_account_authenticator.xml"/>
</issue>
<issue id="UsesMinSdkAttributes" severity="Error">
<ignore regexp="AndroidManifest.xml"/>
</issue>
<issue id="ValidFragment" severity="Error">
<ignore regexp="chrome/android/java/src/org/chromium/chrome/browser/media/router/BaseMediaRouteDialogManager.java"/>
<ignore regexp="chrome/android/java/src/org/chromium/chrome/browser/media/router/MediaRouteChooserDialogManager.java"/>
<ignore regexp="chrome/android/java/src/org/chromium/chrome/browser/media/router/MediaRouteControllerDialogManager.java"/>
<ignore regexp="chrome/android/java/src/org/chromium/chrome/browser/settings/privacy/OtherFormsOfHistoryDialogFragment.java"/>
<ignore regexp="media/capture/content/android/java/src/org/chromium/media/ScreenCapture.java"/>
</issue>
<issue id="VectorPath" severity="ignore"/>
<issue id="ViewConstructor" severity="ignore"/>
<issue id="VisibleForTests" severity="Error">
<ignore regexp="/javatests/"/>
<ignore regexp="/test/"/>
<!-- TODO(crbug.com/757124): Remove all these specific Feedback files after underlying issue is resolved -->
<!-- Underlying issue is that Android FeedbackOptions.Builder using @VisibleForTesting without 'otherwise='. -->
<ignore regexp="clank/java/src/com/google/android/apps/chrome/feedback/FeedbackUtil.java"/>
<ignore regexp="clank/java/src/com/google/android/apps/chrome/feedback/PlayServicesFeedbackReporter.java"/>
<ignore regexp="clank/java/src/com/google/android/apps/chrome/help/FeedbackCategoryChooserActivity.java"/>
<ignore regexp="clank/java/src/com/google/android/apps/chrome/help/HelpAndFeedbackInternal.java"/>
</issue>
<issue id="WebViewApiAvailability" severity="ignore"/>
<issue id="WrongCall" severity="ignore"/>
<issue id="WrongConstant">
<ignore regexp="chrome/android/java/src/org/chromium/chrome/browser/SSLClientCertificateRequest.java"/>
<ignore regexp="chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkItemsAdapter.java"/>
<ignore regexp="chrome/android/java/src/org/chromium/chrome/browser/instantapps/InstantAppsHandler.java"/>
<ignore regexp="chrome/android/java/src/org/chromium/chrome/browser/widget/prefeditor/EditorDialog.java"/>
<ignore regexp="third_party/android_data_chart/java/src/org/chromium/third_party/android/datausagechart/ChartDataUsageView.java"/>
<!-- Discussed in crbug.com/1069204, ignoring this class of errors since these are Q+ constants. -->
<ignore regexp="Must be one of: LineBreaker.BREAK_STRATEGY_SIMPLE, LineBreaker.BREAK_STRATEGY_HIGH_QUALITY, LineBreaker.BREAK_STRATEGY_BALANCED"/>
</issue>
</lint>