| <?xml version="1.0" encoding="UTF-8"?> |
| <issues format="5" by="lint 4.2.0-alpha15" client="gradle" variant="debug" version="4.2.0-alpha15"> |
| |
| <issue |
| id="DefaultLocale" |
| message="Implicitly using the default locale is a common source of bugs: Use `String.format(Locale, ...)` instead" |
| errorLine1=" return String.format("{%d, %d}, %s"," |
| errorLine2=" ^"> |
| <location |
| file="src/main/java/androidx/media2/widget/Cea608CCParser.java" |
| line="400" |
| column="20"/> |
| </issue> |
| |
| <issue |
| id="DefaultLocale" |
| message="Implicitly using the default locale is a common source of bugs: Use `String.format(Locale, ...)` instead" |
| errorLine1=" return String.format("[%d]Null: %02x %02x", mType, mData1, mData2);" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/Cea608CCParser.java" |
| line="949" |
| column="24"/> |
| </issue> |
| |
| <issue |
| id="DefaultLocale" |
| message="Implicitly using the default locale is a common source of bugs: Use `String.format(Locale, ...)` instead" |
| errorLine1=" return String.format("[%d]%s", mType, ctrlCodeToString(ctrlCode));" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/Cea608CCParser.java" |
| line="954" |
| column="24"/> |
| </issue> |
| |
| <issue |
| id="DefaultLocale" |
| message="Implicitly using the default locale is a common source of bugs: Use `String.format(Locale, ...)` instead" |
| errorLine1=" return String.format("[%d]Tab%d", mType, tabOffset);" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/Cea608CCParser.java" |
| line="959" |
| column="24"/> |
| </issue> |
| |
| <issue |
| id="DefaultLocale" |
| message="Implicitly using the default locale is a common source of bugs: Use `String.format(Locale, ...)` instead" |
| errorLine1=" return String.format("[%d]PAC: %s", mType, pac.toString());" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/Cea608CCParser.java" |
| line="964" |
| column="24"/> |
| </issue> |
| |
| <issue |
| id="DefaultLocale" |
| message="Implicitly using the default locale is a common source of bugs: Use `String.format(Locale, ...)` instead" |
| errorLine1=" return String.format("[%d]Mid-row: %s", mType, m.toString());" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/Cea608CCParser.java" |
| line="969" |
| column="24"/> |
| </issue> |
| |
| <issue |
| id="DefaultLocale" |
| message="Implicitly using the default locale is a common source of bugs: Use `String.format(Locale, ...)` instead" |
| errorLine1=" return String.format("[%d]Displayable: %s (%02x %02x)"," |
| errorLine2=" ^"> |
| <location |
| file="src/main/java/androidx/media2/widget/Cea608CCParser.java" |
| line="973" |
| column="24"/> |
| </issue> |
| |
| <issue |
| id="DefaultLocale" |
| message="Implicitly using the default locale is a common source of bugs: Use `String.format(Locale, ...)` instead" |
| errorLine1=" return String.format("[%d]Invalid: %02x %02x", mType, mData1, mData2);" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/Cea608CCParser.java" |
| line="977" |
| column="20"/> |
| </issue> |
| |
| <issue |
| id="DuplicateIncludedIds" |
| message="Duplicate id @+id/pause, defined or included multiple times in layout/media2_widget_media_controller.xml: [layout/media2_widget_media_controller.xml => layout/media2_widget_full_transport_controls.xml defines @+id/pause, layout/media2_widget_media_controller.xml => layout/media2_widget_minimal_transport_controls.xml defines @+id/pause, layout/media2_widget_media_controller.xml => layout/media2_widget_embedded_transport_controls.xml defines @+id/pause]" |
| errorLine1=" <include" |
| errorLine2=" ^"> |
| <location |
| file="src/main/res/layout/media2_widget_media_controller.xml" |
| line="37" |
| column="9"/> |
| <location |
| file="src/main/res/layout/media2_widget_full_transport_controls.xml" |
| line="26" |
| column="18"/> |
| <location |
| file="src/main/res/layout/media2_widget_minimal_transport_controls.xml" |
| line="23" |
| column="18"/> |
| <location |
| file="src/main/res/layout/media2_widget_embedded_transport_controls.xml" |
| line="26" |
| column="18"/> |
| </issue> |
| |
| <issue |
| id="DuplicateIncludedIds" |
| message="Duplicate id @+id/ffwd, defined or included multiple times in layout/media2_widget_media_controller.xml: [layout/media2_widget_media_controller.xml => layout/media2_widget_full_transport_controls.xml defines @+id/ffwd, layout/media2_widget_media_controller.xml => layout/media2_widget_embedded_transport_controls.xml defines @+id/ffwd]" |
| errorLine1=" <include" |
| errorLine2=" ^"> |
| <location |
| file="src/main/res/layout/media2_widget_media_controller.xml" |
| line="135" |
| column="9"/> |
| <location |
| file="src/main/res/layout/media2_widget_full_transport_controls.xml" |
| line="27" |
| column="18"/> |
| <location |
| file="src/main/res/layout/media2_widget_embedded_transport_controls.xml" |
| line="27" |
| column="18"/> |
| </issue> |
| |
| <issue |
| id="DuplicateIncludedIds" |
| message="Duplicate id @+id/next, defined or included multiple times in layout/media2_widget_media_controller.xml: [layout/media2_widget_media_controller.xml => layout/media2_widget_full_transport_controls.xml defines @+id/next, layout/media2_widget_media_controller.xml => layout/media2_widget_embedded_transport_controls.xml defines @+id/next]" |
| errorLine1=" <include" |
| errorLine2=" ^"> |
| <location |
| file="src/main/res/layout/media2_widget_media_controller.xml" |
| line="135" |
| column="9"/> |
| <location |
| file="src/main/res/layout/media2_widget_full_transport_controls.xml" |
| line="28" |
| column="18"/> |
| <location |
| file="src/main/res/layout/media2_widget_embedded_transport_controls.xml" |
| line="28" |
| column="18"/> |
| </issue> |
| |
| <issue |
| id="DuplicateIncludedIds" |
| message="Duplicate id @+id/pause, defined or included multiple times in layout/media2_widget_media_controller.xml: [layout/media2_widget_media_controller.xml => layout/media2_widget_full_transport_controls.xml defines @+id/pause, layout/media2_widget_media_controller.xml => layout/media2_widget_minimal_transport_controls.xml defines @+id/pause, layout/media2_widget_media_controller.xml => layout/media2_widget_embedded_transport_controls.xml defines @+id/pause]" |
| errorLine1=" <include" |
| errorLine2=" ^"> |
| <location |
| file="src/main/res/layout/media2_widget_media_controller.xml" |
| line="135" |
| column="9"/> |
| <location |
| file="src/main/res/layout/media2_widget_full_transport_controls.xml" |
| line="26" |
| column="18"/> |
| <location |
| file="src/main/res/layout/media2_widget_minimal_transport_controls.xml" |
| line="23" |
| column="18"/> |
| <location |
| file="src/main/res/layout/media2_widget_embedded_transport_controls.xml" |
| line="26" |
| column="18"/> |
| </issue> |
| |
| <issue |
| id="DuplicateIncludedIds" |
| message="Duplicate id @+id/prev, defined or included multiple times in layout/media2_widget_media_controller.xml: [layout/media2_widget_media_controller.xml => layout/media2_widget_full_transport_controls.xml defines @+id/prev, layout/media2_widget_media_controller.xml => layout/media2_widget_embedded_transport_controls.xml defines @+id/prev]" |
| errorLine1=" <include" |
| errorLine2=" ^"> |
| <location |
| file="src/main/res/layout/media2_widget_media_controller.xml" |
| line="135" |
| column="9"/> |
| <location |
| file="src/main/res/layout/media2_widget_full_transport_controls.xml" |
| line="24" |
| column="18"/> |
| <location |
| file="src/main/res/layout/media2_widget_embedded_transport_controls.xml" |
| line="24" |
| column="18"/> |
| </issue> |
| |
| <issue |
| id="DuplicateIncludedIds" |
| message="Duplicate id @+id/rew, defined or included multiple times in layout/media2_widget_media_controller.xml: [layout/media2_widget_media_controller.xml => layout/media2_widget_full_transport_controls.xml defines @+id/rew, layout/media2_widget_media_controller.xml => layout/media2_widget_embedded_transport_controls.xml defines @+id/rew]" |
| errorLine1=" <include" |
| errorLine2=" ^"> |
| <location |
| file="src/main/res/layout/media2_widget_media_controller.xml" |
| line="135" |
| column="9"/> |
| <location |
| file="src/main/res/layout/media2_widget_full_transport_controls.xml" |
| line="25" |
| column="18"/> |
| <location |
| file="src/main/res/layout/media2_widget_embedded_transport_controls.xml" |
| line="25" |
| column="18"/> |
| </issue> |
| |
| <issue |
| id="InlinedApi" |
| message="Field requires API level 21 (current min is 16): `android.media.MediaFormat#MIMETYPE_TEXT_CEA_608`" |
| errorLine1=" return MediaFormat.MIMETYPE_TEXT_CEA_608.equals(mimeType);" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/Cea608CaptionRenderer.java" |
| line="57" |
| column="20"/> |
| </issue> |
| |
| <issue |
| id="InlinedApi" |
| message="Field requires API level 28 (current min is 16): `android.media.MediaFormat#MIMETYPE_TEXT_CEA_708`" |
| errorLine1=" return MediaFormat.MIMETYPE_TEXT_CEA_708.equals(mimeType);" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/Cea708CaptionRenderer.java" |
| line="68" |
| column="20"/> |
| </issue> |
| |
| <issue |
| id="InlinedApi" |
| message="Field requires API level 19 (current min is 16): `android.media.MediaFormat#KEY_LANGUAGE`" |
| errorLine1=" String language = format.getString(MediaFormat.KEY_LANGUAGE);" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/SubtitleController.java" |
| line="241" |
| column="52"/> |
| </issue> |
| |
| <issue |
| id="InlinedApi" |
| message="Field requires API level 19 (current min is 16): `android.media.MediaFormat#KEY_IS_FORCED_SUBTITLE`" |
| errorLine1=" .getInteger(format, MediaFormat.KEY_IS_FORCED_SUBTITLE, 0) != 0;" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/SubtitleController.java" |
| line="243" |
| column="45"/> |
| </issue> |
| |
| <issue |
| id="InlinedApi" |
| message="Field requires API level 19 (current min is 16): `android.media.MediaFormat#KEY_IS_AUTOSELECT`" |
| errorLine1=" .getInteger(format, MediaFormat.KEY_IS_AUTOSELECT, 1) != 0;" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/SubtitleController.java" |
| line="245" |
| column="45"/> |
| </issue> |
| |
| <issue |
| id="InlinedApi" |
| message="Field requires API level 19 (current min is 16): `android.media.MediaFormat#KEY_IS_DEFAULT`" |
| errorLine1=" .getInteger(format, MediaFormat.KEY_IS_DEFAULT, 0) != 0;" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/SubtitleController.java" |
| line="247" |
| column="45"/> |
| </issue> |
| |
| <issue |
| id="InlinedApi" |
| message="Field requires API level 21 (current min is 16): `android.media.MediaPlayer.TrackInfo#MEDIA_TRACK_TYPE_SUBTITLE`" |
| errorLine1=" : TrackInfo.MEDIA_TRACK_TYPE_SUBTITLE;" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/SubtitleTrack.java" |
| line="605" |
| column="19"/> |
| </issue> |
| |
| <issue |
| id="InlinedApi" |
| message="Field requires API level 21 (current min is 16): `android.view.accessibility.CaptioningManager.CaptionStyle#EDGE_TYPE_RAISED`" |
| errorLine1=" final boolean raised = edgeType == CaptionStyle.EDGE_TYPE_RAISED;" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/SubtitleView.java" |
| line="288" |
| column="48"/> |
| </issue> |
| |
| <issue |
| id="UnusedAttribute" |
| message="Attribute `level` is only used in API level 24 and higher (current min is 16)" |
| errorLine1=" android:level="10000">" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/res/drawable/media2_widget_custom_progress_thumb.xml" |
| line="20" |
| column="8"/> |
| </issue> |
| |
| <issue |
| id="UnusedAttribute" |
| message="Attribute `layoutDirection` is only used in API level 17 and higher (current min is 16)" |
| errorLine1=" android:layoutDirection="ltr">" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/media2_widget_media_controller.xml" |
| line="22" |
| column="9"/> |
| </issue> |
| |
| <issue |
| id="UnusedAttribute" |
| message="Attribute `layoutDirection` is only used in API level 17 and higher (current min is 16)" |
| errorLine1=" android:layoutDirection="ltr">" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/media2_widget_media_controller.xml" |
| line="115" |
| column="9"/> |
| </issue> |
| |
| <issue |
| id="UnusedAttribute" |
| message="Attribute `layoutDirection` is only used in API level 17 and higher (current min is 16)" |
| errorLine1=" android:layoutDirection="ltr" />" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/media2_widget_media_controller.xml" |
| line="127" |
| column="9"/> |
| </issue> |
| |
| <issue |
| id="UnusedAttribute" |
| message="Attribute `layoutDirection` is only used in API level 17 and higher (current min is 16)" |
| errorLine1=" android:layoutDirection="ltr">" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/media2_widget_media_controller.xml" |
| line="133" |
| column="9"/> |
| </issue> |
| |
| <issue |
| id="UnusedAttribute" |
| message="Attribute `layoutDirection` is only used in API level 17 and higher (current min is 16)" |
| errorLine1=" android:layoutDirection="ltr">" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/media2_widget_media_controller.xml" |
| line="157" |
| column="9"/> |
| </issue> |
| |
| <issue |
| id="UnusedAttribute" |
| message="Attribute `layoutDirection` is only used in API level 17 and higher (current min is 16)" |
| errorLine1=" android:layoutDirection="ltr">" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/media2_widget_media_controller.xml" |
| line="177" |
| column="9"/> |
| </issue> |
| |
| <issue |
| id="UnusedAttribute" |
| message="Attribute `layoutDirection` is only used in API level 17 and higher (current min is 16)" |
| errorLine1=" android:layoutDirection="ltr">" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/media2_widget_media_controller.xml" |
| line="211" |
| column="9"/> |
| </issue> |
| |
| <issue |
| id="UnusedAttribute" |
| message="Attribute `layoutDirection` is only used in API level 17 and higher (current min is 16)" |
| errorLine1=" android:layoutDirection="ltr">" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/media2_widget_media_controller.xml" |
| line="226" |
| column="9"/> |
| </issue> |
| |
| <issue |
| id="UnusedAttribute" |
| message="Attribute `splitTrack` is only used in API level 21 and higher (current min is 16)" |
| errorLine1=" android:splitTrack="false"" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/media2_widget_media_controller.xml" |
| line="240" |
| column="13"/> |
| </issue> |
| |
| <issue |
| id="UnusedAttribute" |
| message="Attribute `elevation` is only used in API level 21 and higher (current min is 16)" |
| errorLine1=" android:elevation="10dp" />" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/media2_widget_media_controller.xml" |
| line="241" |
| column="13"/> |
| </issue> |
| |
| <issue |
| id="BanSynchronizedMethods" |
| message="Use of synchronized methods is not recommended" |
| errorLine1=" protected synchronized void updateActiveCues(boolean rebuild, long timeMs) {" |
| errorLine2=" ^"> |
| <location |
| file="src/main/java/androidx/media2/widget/SubtitleTrack.java" |
| line="127" |
| column="5"/> |
| </issue> |
| |
| <issue |
| id="BanSynchronizedMethods" |
| message="Use of synchronized methods is not recommended" |
| errorLine1=" private synchronized void takeTime(long timeMs) {" |
| errorLine2=" ^"> |
| <location |
| file="src/main/java/androidx/media2/widget/SubtitleTrack.java" |
| line="197" |
| column="5"/> |
| </issue> |
| |
| <issue |
| id="BanSynchronizedMethods" |
| message="Use of synchronized methods is not recommended" |
| errorLine1=" protected synchronized void clearActiveCues() {" |
| errorLine2=" ^"> |
| <location |
| file="src/main/java/androidx/media2/widget/SubtitleTrack.java" |
| line="201" |
| column="5"/> |
| </issue> |
| |
| <issue |
| id="BanSynchronizedMethods" |
| message="Use of synchronized methods is not recommended" |
| errorLine1=" protected synchronized boolean addCue(Cue cue) {" |
| errorLine2=" ^"> |
| <location |
| file="src/main/java/androidx/media2/widget/SubtitleTrack.java" |
| line="291" |
| column="5"/> |
| </issue> |
| |
| <issue |
| id="BanSynchronizedMethods" |
| message="Use of synchronized methods is not recommended" |
| errorLine1=" /**" |
| errorLine2=" ^"> |
| <location |
| file="src/main/java/androidx/media2/widget/SubtitleTrack.java" |
| line="364" |
| column="5"/> |
| </issue> |
| |
| <issue |
| id="InflateParams" |
| message="Avoid passing `null` as the view root (needed to resolve layout parameters on the inflated layout's root element)" |
| errorLine1=" null);" |
| errorLine2=" ~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/MusicView.java" |
| line="145" |
| column="17"/> |
| </issue> |
| |
| <issue |
| id="InflateParams" |
| message="Avoid passing `null` as the view root (needed to resolve layout parameters on the inflated layout's root element)" |
| errorLine1=" null);" |
| errorLine2=" ~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/MusicView.java" |
| line="147" |
| column="17"/> |
| </issue> |
| |
| <issue |
| id="InflateParams" |
| message="Avoid passing `null` as the view root (needed to resolve layout parameters on the inflated layout's root element)" |
| errorLine1=" mWithoutTitle = inflater.inflate(R.layout.media2_widget_music_without_title, null);" |
| errorLine2=" ~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/MusicView.java" |
| line="148" |
| column="86"/> |
| </issue> |
| |
| <issue |
| id="PrivateConstructorForUtilityClass" |
| message="Utility class with non private constructor" |
| errorLine1=" static class MediaFormatUtil {" |
| errorLine2=" ~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/SubtitleController.java" |
| line="275" |
| column="18"/> |
| </issue> |
| |
| <issue |
| id="UnsafeNewApiCall" |
| message="This call is to a method from API 19, the call containing class androidx.media2.widget.CaptionStyle is not annotated with @RequiresApi(x) where x is at least 19. Either annotate the containing class with at least @RequiresApi(19) or move the call to a static method in a wrapper class annotated with at least @RequiresApi(19)." |
| errorLine1=" captionStyle.getTypeface());" |
| errorLine2=" ~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/CaptionStyle.java" |
| line="109" |
| column="30"/> |
| </issue> |
| |
| <issue |
| id="UnsafeNewApiCall" |
| message="This call is to a method from API 19, the call containing class androidx.media2.widget.Cea708CaptionRenderer.Cea708CCWidget.CCWindowLayout is not annotated with @RequiresApi(x) where x is at least 19. Either annotate the containing class with at least @RequiresApi(19) or move the call to a static method in a wrapper class annotated with at least @RequiresApi(19)." |
| errorLine1=" mFontScale = captioningManager.getFontScale();" |
| errorLine2=" ~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/Cea708CaptionRenderer.java" |
| line="794" |
| column="52"/> |
| </issue> |
| |
| <issue |
| id="UnsafeNewApiCall" |
| message="This call is to a method from API 19, the call containing class androidx.media2.widget.Cea708CaptionRenderer.Cea708CCWidget.CCWindowLayout is not annotated with @RequiresApi(x) where x is at least 19. Either annotate the containing class with at least @RequiresApi(19) or move the call to a static method in a wrapper class annotated with at least @RequiresApi(19)." |
| errorLine1=" setCaptionStyle(new CaptionStyle(captioningManager.getUserStyle()));" |
| errorLine2=" ~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/Cea708CaptionRenderer.java" |
| line="795" |
| column="72"/> |
| </issue> |
| |
| <issue |
| id="UnsafeNewApiCall" |
| message="This call is to a method from API 19, the call containing class androidx.media2.widget.ClosedCaptionWidget is not annotated with @RequiresApi(x) where x is at least 19. Either annotate the containing class with at least @RequiresApi(19) or move the call to a static method in a wrapper class annotated with at least @RequiresApi(19)." |
| errorLine1=" mCaptionStyle = new CaptionStyle(mManager.getUserStyle());" |
| errorLine2=" ~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/ClosedCaptionWidget.java" |
| line="86" |
| column="55"/> |
| </issue> |
| |
| <issue |
| id="UnsafeNewApiCall" |
| message="This call is to a method from API 19, the call containing class androidx.media2.widget.ClosedCaptionWidget is not annotated with @RequiresApi(x) where x is at least 19. Either annotate the containing class with at least @RequiresApi(19) or move the call to a static method in a wrapper class annotated with at least @RequiresApi(19)." |
| errorLine1=" fontScale = mManager.getFontScale();" |
| errorLine2=" ~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/ClosedCaptionWidget.java" |
| line="87" |
| column="34"/> |
| </issue> |
| |
| <issue |
| id="UnsafeNewApiCall" |
| message="This call is to a method from API 19, the call containing class androidx.media2.widget.ClosedCaptionWidget is not annotated with @RequiresApi(x) where x is at least 19. Either annotate the containing class with at least @RequiresApi(19) or move the call to a static method in a wrapper class annotated with at least @RequiresApi(19)." |
| errorLine1=" final boolean needsListener = isAttachedToWindow() && getVisibility() == View.VISIBLE;" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/ClosedCaptionWidget.java" |
| line="160" |
| column="39"/> |
| </issue> |
| |
| <issue |
| id="UnsafeNewApiCall" |
| message="This call is to a method from API 19, the call containing class androidx.media2.widget.ClosedCaptionWidget is not annotated with @RequiresApi(x) where x is at least 19. Either annotate the containing class with at least @RequiresApi(19) or move the call to a static method in a wrapper class annotated with at least @RequiresApi(19)." |
| errorLine1=" mManager.addCaptioningChangeListener(mCaptioningListener);" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/ClosedCaptionWidget.java" |
| line="165" |
| column="26"/> |
| </issue> |
| |
| <issue |
| id="UnsafeNewApiCall" |
| message="This call is to a method from API 19, the call containing class androidx.media2.widget.ClosedCaptionWidget is not annotated with @RequiresApi(x) where x is at least 19. Either annotate the containing class with at least @RequiresApi(19) or move the call to a static method in a wrapper class annotated with at least @RequiresApi(19)." |
| errorLine1=" mManager.removeCaptioningChangeListener(mCaptioningListener);" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/ClosedCaptionWidget.java" |
| line="167" |
| column="26"/> |
| </issue> |
| |
| <issue |
| id="UnsafeNewApiCall" |
| message="This call is to a method from API 23, the call containing class androidx.media2.widget.SelectiveLayout is not annotated with @RequiresApi(x) where x is at least 23. Either annotate the containing class with at least @RequiresApi(23) or move the call to a static method in a wrapper class annotated with at least @RequiresApi(23)." |
| errorLine1=" final Drawable drawable = getForeground();" |
| errorLine2=" ~~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/SelectiveLayout.java" |
| line="97" |
| column="39"/> |
| </issue> |
| |
| <issue |
| id="UnsafeNewApiCall" |
| message="This call is to a method from API 19, the call containing class androidx.media2.widget.SubtitleController is not annotated with @RequiresApi(x) where x is at least 19. Either annotate the containing class with at least @RequiresApi(19) or move the call to a static method in a wrapper class annotated with at least @RequiresApi(19)." |
| errorLine1=" mCaptioningManager.removeCaptioningChangeListener(" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/SubtitleController.java" |
| line="124" |
| column="32"/> |
| </issue> |
| |
| <issue |
| id="UnsafeNewApiCall" |
| message="This call is to a method from API 19, the call containing class androidx.media2.widget.SubtitleController is not annotated with @RequiresApi(x) where x is at least 19. Either annotate the containing class with at least @RequiresApi(19) or move the call to a static method in a wrapper class annotated with at least @RequiresApi(19)." |
| errorLine1=" Locale selectedLocale = VERSION.SDK_INT >= 19 ? mCaptioningManager.getLocale() : null;" |
| errorLine2=" ~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/SubtitleController.java" |
| line="231" |
| column="76"/> |
| </issue> |
| |
| <issue |
| id="UnsafeNewApiCall" |
| message="This call is to a method from API 19, the call containing class androidx.media2.widget.SubtitleController is not annotated with @RequiresApi(x) where x is at least 19. Either annotate the containing class with at least @RequiresApi(19) or move the call to a static method in a wrapper class annotated with at least @RequiresApi(19)." |
| errorLine1=" boolean selectForced = VERSION.SDK_INT >= 19 ? !mCaptioningManager.isEnabled() : true;" |
| errorLine2=" ~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/SubtitleController.java" |
| line="236" |
| column="76"/> |
| </issue> |
| |
| <issue |
| id="UnsafeNewApiCall" |
| message="This call is to a method from API 19, the call containing class androidx.media2.widget.SubtitleController is not annotated with @RequiresApi(x) where x is at least 19. Either annotate the containing class with at least @RequiresApi(19) or move the call to a static method in a wrapper class annotated with at least @RequiresApi(19)." |
| errorLine1=" VERSION.SDK_INT >= 19 ? mCaptioningManager.isEnabled() : false;" |
| errorLine2=" ~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/SubtitleController.java" |
| line="304" |
| column="64"/> |
| </issue> |
| |
| <issue |
| id="UnsafeNewApiCall" |
| message="This call is to a method from API 19, the call containing class androidx.media2.widget.SubtitleController is not annotated with @RequiresApi(x) where x is at least 19. Either annotate the containing class with at least @RequiresApi(19) or move the call to a static method in a wrapper class annotated with at least @RequiresApi(19)." |
| errorLine1=" mCaptioningManager.removeCaptioningChangeListener(" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/SubtitleController.java" |
| line="339" |
| column="32"/> |
| </issue> |
| |
| <issue |
| id="UnsafeNewApiCall" |
| message="This call is to a method from API 19, the call containing class androidx.media2.widget.SubtitleController is not annotated with @RequiresApi(x) where x is at least 19. Either annotate the containing class with at least @RequiresApi(19) or move the call to a static method in a wrapper class annotated with at least @RequiresApi(19)." |
| errorLine1=" mCaptioningManager.addCaptioningChangeListener(" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/SubtitleController.java" |
| line="359" |
| column="52"/> |
| </issue> |
| |
| <issue |
| id="UnsafeNewApiCall" |
| message="This call is to a method from API 23, the call containing class androidx.media2.widget.SubtitleView is not annotated with @RequiresApi(x) where x is at least 23. Either annotate the containing class with at least @RequiresApi(23) or move the call to a static method in a wrapper class annotated with at least @RequiresApi(23)." |
| errorLine1=" StaticLayout.Builder.obtain(mText, 0, mText.length(), mTextPaint, maxWidth)" |
| errorLine2=" ~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/SubtitleView.java" |
| line="227" |
| column="42"/> |
| </issue> |
| |
| <issue |
| id="UnsafeNewApiCall" |
| message="This call is to a method from API 23, the call containing class androidx.media2.widget.SubtitleView is not annotated with @RequiresApi(x) where x is at least 23. Either annotate the containing class with at least @RequiresApi(23) or move the call to a static method in a wrapper class annotated with at least @RequiresApi(23)." |
| errorLine1=" .setAlignment(mAlignment)" |
| errorLine2=" ~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/SubtitleView.java" |
| line="228" |
| column="30"/> |
| </issue> |
| |
| <issue |
| id="UnsafeNewApiCall" |
| message="This call is to a method from API 23, the call containing class androidx.media2.widget.SubtitleView is not annotated with @RequiresApi(x) where x is at least 23. Either annotate the containing class with at least @RequiresApi(23) or move the call to a static method in a wrapper class annotated with at least @RequiresApi(23)." |
| errorLine1=" .setLineSpacing(mSpacingAdd, mSpacingMult);" |
| errorLine2=" ~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/SubtitleView.java" |
| line="229" |
| column="30"/> |
| </issue> |
| |
| <issue |
| id="UnsafeNewApiCall" |
| message="This call is to a method from API 28, the call containing class androidx.media2.widget.SubtitleView is not annotated with @RequiresApi(x) where x is at least 28. Either annotate the containing class with at least @RequiresApi(28) or move the call to a static method in a wrapper class annotated with at least @RequiresApi(28)." |
| errorLine1=" builder.setUseLineSpacingFromFallbacks(true);" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/SubtitleView.java" |
| line="231" |
| column="25"/> |
| </issue> |
| |
| <issue |
| id="UnsafeNewApiCall" |
| message="This call is to a method from API 23, the call containing class androidx.media2.widget.SubtitleView is not annotated with @RequiresApi(x) where x is at least 23. Either annotate the containing class with at least @RequiresApi(23) or move the call to a static method in a wrapper class annotated with at least @RequiresApi(23)." |
| errorLine1=" mLayout = builder.build();" |
| errorLine2=" ~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/SubtitleView.java" |
| line="233" |
| column="31"/> |
| </issue> |
| |
| <issue |
| id="VectorRaster" |
| message="Limit vector icons sizes to 200×200 to keep icon drawing fast; see https://developer.android.com/studio/write/vector-asset-studio#when for more" |
| errorLine1=" android:width="512dp"" |
| errorLine2=" ~~~~~"> |
| <location |
| file="src/main/res/drawable/media2_widget_ic_default_album_image.xml" |
| line="3" |
| column="20"/> |
| </issue> |
| |
| <issue |
| id="VectorRaster" |
| message="This tag is not supported in images generated from this vector icon for API < 21; check generated icon to make sure it looks acceptable" |
| errorLine1=" <clip-path" |
| errorLine2=" ^"> |
| <location |
| file="src/main/res/drawable/media2_widget_ic_forward_30.xml" |
| line="8" |
| column="9"/> |
| </issue> |
| |
| <issue |
| id="VectorRaster" |
| message="This tag is not supported in images generated from this vector icon for API < 21; check generated icon to make sure it looks acceptable" |
| errorLine1=" <clip-path" |
| errorLine2=" ^"> |
| <location |
| file="src/main/res/drawable/media2_widget_ic_rewind_10.xml" |
| line="8" |
| column="9"/> |
| </issue> |
| |
| <issue |
| id="Typos" |
| message=""media" is a common misspelling; did you mean "medier" ?" |
| errorLine1=" <string name="mcv2_previous_button_desc" msgid="5367141424871007842">"Forrige media"</string>" |
| errorLine2=" ^"> |
| <location |
| file="src/main/res/values-nb/strings.xml" |
| line="44" |
| column="83"/> |
| </issue> |
| |
| <issue |
| id="Typos" |
| message=""media" is a common misspelling; did you mean "medier" ?" |
| errorLine1=" <string name="mcv2_next_button_desc" msgid="4799850472802157220">"Neste media"</string>" |
| errorLine2=" ^"> |
| <location |
| file="src/main/res/values-nb/strings.xml" |
| line="45" |
| column="77"/> |
| </issue> |
| |
| <issue |
| id="DrawAllocation" |
| message="Avoid object allocations during draw/layout operations (preallocate and reuse instead)" |
| errorLine1=" mRectArray = new Rect[count];" |
| errorLine2=" ~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/Cea708CaptionRenderer.java" |
| line="235" |
| column="30"/> |
| </issue> |
| |
| <issue |
| id="DrawAllocation" |
| message="Avoid object allocations during draw/layout operations (preallocate and reuse instead)" |
| errorLine1=" mRectArray[i] = new Rect((int) (scaleStartCol * width), (int) (scaleStartRow" |
| errorLine2=" ^"> |
| <location |
| file="src/main/java/androidx/media2/widget/Cea708CaptionRenderer.java" |
| line="269" |
| column="37"/> |
| </issue> |
| |
| <issue |
| id="DrawAllocation" |
| message="Avoid object allocations during draw/layout operations (preallocate and reuse instead)" |
| errorLine1=" int[] visibleRectGroup = new int[count];" |
| errorLine2=" ~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/Cea708CaptionRenderer.java" |
| line="301" |
| column="42"/> |
| </issue> |
| |
| <issue |
| id="DrawAllocation" |
| message="Avoid object allocations during draw/layout operations (preallocate and reuse instead)" |
| errorLine1=" Rect[] visibleRectArray = new Rect[count];" |
| errorLine2=" ~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/Cea708CaptionRenderer.java" |
| line="302" |
| column="43"/> |
| </issue> |
| |
| <issue |
| id="Overdraw" |
| message="Possible overdraw: Root element paints background `@color/media2_widget_music_view_default_background` with a theme that also paints a background (inferred theme is `@android:style/Theme.Holo`)" |
| errorLine1=" android:background="@color/media2_widget_music_view_default_background"" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/media2_widget_music_with_title_landscape.xml" |
| line="19" |
| column="5"/> |
| </issue> |
| |
| <issue |
| id="Overdraw" |
| message="Possible overdraw: Root element paints background `@color/media2_widget_music_view_default_background` with a theme that also paints a background (inferred theme is `@android:style/Theme.Holo`)" |
| errorLine1=" android:background="@color/media2_widget_music_view_default_background"" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/media2_widget_music_with_title_portrait.xml" |
| line="19" |
| column="5"/> |
| </issue> |
| |
| <issue |
| id="Overdraw" |
| message="Possible overdraw: Root element paints background `@color/media2_widget_music_view_default_background` with a theme that also paints a background (inferred theme is `@android:style/Theme.Holo`)" |
| errorLine1=" android:background="@color/media2_widget_music_view_default_background"" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/media2_widget_music_without_title.xml" |
| line="18" |
| column="5"/> |
| </issue> |
| |
| <issue |
| id="UselessParent" |
| message="This `LinearLayout` layout or its `LinearLayout` parent is possibly useless" |
| errorLine1=" <LinearLayout" |
| errorLine2=" ~~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/media2_widget_media_controller.xml" |
| line="78" |
| column="14"/> |
| </issue> |
| |
| <issue |
| id="UselessParent" |
| message="This `LinearLayout` layout or its `LinearLayout` parent is useless" |
| errorLine1=" <LinearLayout" |
| errorLine2=" ~~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/media2_widget_settings_list_item.xml" |
| line="41" |
| column="10"/> |
| </issue> |
| |
| <issue |
| id="SmallSp" |
| message="Avoid using sizes smaller than `12sp`: `10sp`" |
| errorLine1=" android:textSize="10sp"" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/media2_widget_media_controller.xml" |
| line="98" |
| column="21"/> |
| </issue> |
| |
| <issue |
| id="ClickableViewAccessibility" |
| message="Custom view `MediaControlView` overrides `onTouchEvent` but not `performClick`" |
| errorLine1=" public boolean onTouchEvent(MotionEvent ev) {" |
| errorLine2=" ~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/MediaControlView.java" |
| line="436" |
| column="20"/> |
| </issue> |
| |
| <issue |
| id="ContentDescription" |
| message="Missing `contentDescription` attribute on image" |
| errorLine1=" <ImageButton android:id="@+id/prev" style="@style/Media2_Widget_EmbeddedTransportControlsButton.Previous" />" |
| errorLine2=" ~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/media2_widget_embedded_transport_controls.xml" |
| line="24" |
| column="6"/> |
| </issue> |
| |
| <issue |
| id="ContentDescription" |
| message="Missing `contentDescription` attribute on image" |
| errorLine1=" <ImageButton android:id="@+id/rew" style="@style/Media2_Widget_EmbeddedTransportControlsButton.Rew" />" |
| errorLine2=" ~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/media2_widget_embedded_transport_controls.xml" |
| line="25" |
| column="6"/> |
| </issue> |
| |
| <issue |
| id="ContentDescription" |
| message="Missing `contentDescription` attribute on image" |
| errorLine1=" <ImageButton android:id="@+id/pause" style="@style/Media2_Widget_EmbeddedTransportControlsButton.Pause" />" |
| errorLine2=" ~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/media2_widget_embedded_transport_controls.xml" |
| line="26" |
| column="6"/> |
| </issue> |
| |
| <issue |
| id="ContentDescription" |
| message="Missing `contentDescription` attribute on image" |
| errorLine1=" <ImageButton android:id="@+id/ffwd" style="@style/Media2_Widget_EmbeddedTransportControlsButton.Ffwd" />" |
| errorLine2=" ~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/media2_widget_embedded_transport_controls.xml" |
| line="27" |
| column="6"/> |
| </issue> |
| |
| <issue |
| id="ContentDescription" |
| message="Missing `contentDescription` attribute on image" |
| errorLine1=" <ImageButton android:id="@+id/next" style="@style/Media2_Widget_EmbeddedTransportControlsButton.Next" />" |
| errorLine2=" ~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/media2_widget_embedded_transport_controls.xml" |
| line="28" |
| column="6"/> |
| </issue> |
| |
| <issue |
| id="ContentDescription" |
| message="Missing `contentDescription` attribute on image" |
| errorLine1=" <ImageButton android:id="@+id/prev" style="@style/Media2_Widget_FullTransportControlsButton.Previous" />" |
| errorLine2=" ~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/media2_widget_full_transport_controls.xml" |
| line="24" |
| column="6"/> |
| </issue> |
| |
| <issue |
| id="ContentDescription" |
| message="Missing `contentDescription` attribute on image" |
| errorLine1=" <ImageButton android:id="@+id/rew" style="@style/Media2_Widget_FullTransportControlsButton.Rew" />" |
| errorLine2=" ~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/media2_widget_full_transport_controls.xml" |
| line="25" |
| column="6"/> |
| </issue> |
| |
| <issue |
| id="ContentDescription" |
| message="Missing `contentDescription` attribute on image" |
| errorLine1=" <ImageButton android:id="@+id/pause" style="@style/Media2_Widget_FullTransportControlsButton.Pause" />" |
| errorLine2=" ~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/media2_widget_full_transport_controls.xml" |
| line="26" |
| column="6"/> |
| </issue> |
| |
| <issue |
| id="ContentDescription" |
| message="Missing `contentDescription` attribute on image" |
| errorLine1=" <ImageButton android:id="@+id/ffwd" style="@style/Media2_Widget_FullTransportControlsButton.Ffwd" />" |
| errorLine2=" ~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/media2_widget_full_transport_controls.xml" |
| line="27" |
| column="6"/> |
| </issue> |
| |
| <issue |
| id="ContentDescription" |
| message="Missing `contentDescription` attribute on image" |
| errorLine1=" <ImageButton android:id="@+id/next" style="@style/Media2_Widget_FullTransportControlsButton.Next" />" |
| errorLine2=" ~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/media2_widget_full_transport_controls.xml" |
| line="28" |
| column="6"/> |
| </issue> |
| |
| <issue |
| id="ContentDescription" |
| message="Missing `contentDescription` attribute on image" |
| errorLine1=" <ImageButton" |
| errorLine2=" ~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/media2_widget_media_controller.xml" |
| line="101" |
| column="18"/> |
| </issue> |
| |
| <issue |
| id="ContentDescription" |
| message="Missing `contentDescription` attribute on image" |
| errorLine1=" <ImageButton" |
| errorLine2=" ~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/media2_widget_media_controller.xml" |
| line="117" |
| column="10"/> |
| </issue> |
| |
| <issue |
| id="ContentDescription" |
| message="Missing `contentDescription` attribute on image" |
| errorLine1=" <ImageButton" |
| errorLine2=" ~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/media2_widget_media_controller.xml" |
| line="188" |
| column="10"/> |
| </issue> |
| |
| <issue |
| id="ContentDescription" |
| message="Missing `contentDescription` attribute on image" |
| errorLine1=" <ImageButton" |
| errorLine2=" ~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/media2_widget_media_controller.xml" |
| line="195" |
| column="10"/> |
| </issue> |
| |
| <issue |
| id="ContentDescription" |
| message="Missing `contentDescription` attribute on image" |
| errorLine1=" <ImageButton" |
| errorLine2=" ~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/media2_widget_media_controller.xml" |
| line="200" |
| column="10"/> |
| </issue> |
| |
| <issue |
| id="ContentDescription" |
| message="Missing `contentDescription` attribute on image" |
| errorLine1=" <ImageButton" |
| errorLine2=" ~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/media2_widget_media_controller.xml" |
| line="213" |
| column="10"/> |
| </issue> |
| |
| <issue |
| id="ContentDescription" |
| message="Missing `contentDescription` attribute on image" |
| errorLine1=" <ImageButton" |
| errorLine2=" ~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/media2_widget_media_controller.xml" |
| line="217" |
| column="10"/> |
| </issue> |
| |
| <issue |
| id="ContentDescription" |
| message="Missing `contentDescription` attribute on image" |
| errorLine1=" <ImageButton android:id="@+id/pause" style="@style/Media2_Widget_MinimalTransportControlsButton" />" |
| errorLine2=" ~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/media2_widget_minimal_transport_controls.xml" |
| line="23" |
| column="6"/> |
| </issue> |
| |
| <issue |
| id="ContentDescription" |
| message="Missing `contentDescription` attribute on image" |
| errorLine1=" <ImageView" |
| errorLine2=" ~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/media2_widget_music_with_title_landscape.xml" |
| line="24" |
| column="6"/> |
| </issue> |
| |
| <issue |
| id="ContentDescription" |
| message="Missing `contentDescription` attribute on image" |
| errorLine1=" <ImageView" |
| errorLine2=" ~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/media2_widget_music_with_title_portrait.xml" |
| line="25" |
| column="6"/> |
| </issue> |
| |
| <issue |
| id="ContentDescription" |
| message="Missing `contentDescription` attribute on image" |
| errorLine1=" <ImageView" |
| errorLine2=" ~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/media2_widget_music_without_title.xml" |
| line="22" |
| column="6"/> |
| </issue> |
| |
| <issue |
| id="ContentDescription" |
| message="Missing `contentDescription` attribute on image" |
| errorLine1=" <ImageView" |
| errorLine2=" ~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/media2_widget_settings_list_item.xml" |
| line="29" |
| column="10"/> |
| </issue> |
| |
| <issue |
| id="ContentDescription" |
| message="Missing `contentDescription` attribute on image" |
| errorLine1=" <ImageView" |
| errorLine2=" ~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/media2_widget_sub_settings_list_item.xml" |
| line="29" |
| column="10"/> |
| </issue> |
| |
| <issue |
| id="KeyboardInaccessibleWidget" |
| message="'clickable' attribute found, please also add 'focusable'" |
| errorLine1=" android:clickable="true"" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/res/layout/media2_widget_media_controller.xml" |
| line="80" |
| column="17"/> |
| </issue> |
| |
| <issue |
| id="SetTextI18n" |
| message="Do not concatenate text displayed with `setText`. Use resource string with placeholders." |
| errorLine1=" mTitleView.setText(title.toString() + " - " + artist.toString());" |
| errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/MediaControlView.java" |
| line="1434" |
| column="32"/> |
| </issue> |
| |
| <issue |
| id="UnknownNullness" |
| message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations" |
| errorLine1=" public CharSequence getAccessibilityClassName() {" |
| errorLine2=" ~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/MediaControlView.java" |
| line="430" |
| column="12"/> |
| </issue> |
| |
| <issue |
| id="UnknownNullness" |
| message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations" |
| errorLine1=" public boolean onTouchEvent(MotionEvent ev) {" |
| errorLine2=" ~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/MediaControlView.java" |
| line="436" |
| column="33"/> |
| </issue> |
| |
| <issue |
| id="UnknownNullness" |
| message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations" |
| errorLine1=" public boolean onTrackballEvent(MotionEvent ev) {" |
| errorLine2=" ~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/MediaControlView.java" |
| line="453" |
| column="37"/> |
| </issue> |
| |
| <issue |
| id="UnknownNullness" |
| message="Unknown nullability; explicitly declare as `@Nullable` or `@NonNull` to improve Kotlin interoperability; see https://android.github.io/kotlin-guides/interop.html#nullability-annotations" |
| errorLine1=" public CharSequence getAccessibilityClassName() {" |
| errorLine2=" ~~~~~~~~~~~~"> |
| <location |
| file="src/main/java/androidx/media2/widget/VideoView.java" |
| line="571" |
| column="12"/> |
| </issue> |
| |
| </issues> |