blob: 4a86761efe17b7c7c46fc3237b28fc9c206bdec6 [file] [log] [blame]
<?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="SdCardPath"
message="Do not hardcode &quot;/sdcard/&quot;; use `Environment.getExternalStorageDirectory().getPath()` instead"
errorLine1=" private static final String TEST_VID_STASH = &quot;/sdcard&quot;;"
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/androidx/media2/integration/testapp/VideoSelectorActivity.java"
line="56"
column="50"/>
</issue>
<issue
id="ShowToast"
message="Toast created but not shown: did you forget to call `show()` ?"
errorLine1=" Toast.makeText(this, errorMessage, Toast.LENGTH_SHORT);"
errorLine2=" ~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/media2/integration/testapp/VideoSessionService.java"
line="123"
column="17"/>
</issue>
<issue
id="UnsafeNewApiCall"
message="This call is to a method from API 23, the call containing class androidx.media2.integration.testapp.VideoSelectorActivity 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=" if (checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE)"
errorLine2=" ~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/media2/integration/testapp/VideoSelectorActivity.java"
line="85"
column="17"/>
</issue>
<issue
id="UnsafeNewApiCall"
message="This call is to a method from API 23, the call containing class androidx.media2.integration.testapp.VideoSelectorActivity 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=" requestPermissions(new String[] {Manifest.permission.READ_EXTERNAL_STORAGE},"
errorLine2=" ~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/media2/integration/testapp/VideoSelectorActivity.java"
line="89"
column="17"/>
</issue>
<issue
id="RestrictedApi"
message="MediaItem.getMediaId can only be called from within the same library group (groupId=androidx.media2)"
errorLine1=" &amp;&amp; TextUtils.equals(currentItem.getMediaId(), mUri.toString())"
errorLine2=" ~~~~~~~~~~">
<location
file="src/main/java/androidx/media2/integration/testapp/VideoPlayerActivity.java"
line="328"
column="53"/>
</issue>
<issue
id="AllowBackup"
message="Should explicitly set `android:allowBackup` to `true` or `false` (it&apos;s `true` by default, and that can have some security implications for the application&apos;s data)"
errorLine1=" &lt;application android:label=&quot;Video View Test&quot;"
errorLine2=" ~~~~~~~~~~~">
<location
file="src/main/AndroidManifest.xml"
line="27"
column="6"/>
</issue>
<issue
id="StaticFieldLeak"
message="This `AsyncTask` class should be static or leaks might occur (androidx.media2.integration.testapp.VideoSelectorActivity.VideoItemListTask)"
errorLine1=" private final class VideoItemListTask extends android.os.AsyncTask&lt;Void, Void, VideoItemList> {"
errorLine2=" ~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/media2/integration/testapp/VideoSelectorActivity.java"
line="305"
column="25"/>
</issue>
<issue
id="Overdraw"
message="Possible overdraw: Root element paints background `#3F51B5` with a theme that also paints a background (inferred theme is `@style/Theme_AppCompat`)"
errorLine1=" android:background=&quot;#3F51B5&quot;>"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/layout/activity_video_player.xml"
line="25"
column="5"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `showErrorDialogIfFailed` of class `VideoPlayerActivity` requires synthetic accessor"
errorLine1=" showErrorDialogIfFailed(controller.setMediaItem(mUri.toString()),"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/media2/integration/testapp/VideoPlayerActivity.java"
line="334"
column="13"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `showErrorDialogIfFailed` of class `VideoPlayerActivity` requires synthetic accessor"
errorLine1=" showErrorDialogIfFailed(controller.prepare(), &quot;failed to prepare &quot; + mUri);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/media2/integration/testapp/VideoPlayerActivity.java"
line="336"
column="13"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `createLaunchIntent` of class `VideoSelectorActivity` requires synthetic accessor"
errorLine1=" Intent launch = createLaunchIntent("
errorLine2=" ~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/media2/integration/testapp/VideoSelectorActivity.java"
line="99"
column="33"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` field `mUrlText` of class `VideoSelectorActivity` requires synthetic accessor"
errorLine1=" mUrlText.getText().toString());"
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/androidx/media2/integration/testapp/VideoSelectorActivity.java"
line="101"
column="25"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` field `mSelectItems` of class `VideoSelectorActivity` requires synthetic accessor"
errorLine1=" if ((position >= 0) &amp;&amp; (position &lt; mSelectItems.getCount())) {"
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/media2/integration/testapp/VideoSelectorActivity.java"
line="203"
column="48"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` field `mSelectItems` of class `VideoSelectorActivity` requires synthetic accessor"
errorLine1=" VideoItem item = mSelectItems.getItem(position);"
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/media2/integration/testapp/VideoSelectorActivity.java"
line="204"
column="34"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `createLaunchIntent` of class `VideoSelectorActivity` requires synthetic accessor"
errorLine1=" Intent launch = createLaunchIntent("
errorLine2=" ~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/media2/integration/testapp/VideoSelectorActivity.java"
line="208"
column="37"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` constructor of class `VideoItemList` requires synthetic accessor"
errorLine1=" VideoItemList retVal = new VideoItemList(p, is_root);"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/media2/integration/testapp/VideoSelectorActivity.java"
line="250"
column="32"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` method `createVil` of class `VideoSelectorActivity` requires synthetic accessor"
errorLine1=" return createVil(mPath);"
errorLine2=" ~~~~~~~~~">
<location
file="src/main/java/androidx/media2/integration/testapp/VideoSelectorActivity.java"
line="314"
column="20"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` field `mSelectItems` of class `VideoSelectorActivity` requires synthetic accessor"
errorLine1=" mSelectItems = items;"
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/media2/integration/testapp/VideoSelectorActivity.java"
line="320"
column="17"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` field `mSelectItems` of class `VideoSelectorActivity` requires synthetic accessor"
errorLine1=" mSelectList.setAdapter(mSelectItems);"
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/media2/integration/testapp/VideoSelectorActivity.java"
line="321"
column="40"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` field `mSelectList` of class `VideoSelectorActivity` requires synthetic accessor"
errorLine1=" mSelectList.setAdapter(mSelectItems);"
errorLine2=" ~~~~~~~~~~~">
<location
file="src/main/java/androidx/media2/integration/testapp/VideoSelectorActivity.java"
line="321"
column="17"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` field `mMediaPlayer` of class `VideoSessionService` requires synthetic accessor"
errorLine1=" mMediaPlayer.reset();"
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/media2/integration/testapp/VideoSessionService.java"
line="144"
column="13"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` field `mAudioAttributes` of class `VideoSessionService` requires synthetic accessor"
errorLine1=" showToastIfFailed(mMediaPlayer.setAudioAttributes(mAudioAttributes),"
errorLine2=" ~~~~~~~~~~~~~~~~">
<location
file="src/main/java/androidx/media2/integration/testapp/VideoSessionService.java"
line="145"
column="63"/>
</issue>
<issue
id="SyntheticAccessor"
message="Access to `private` field `mMediaPlayer` of class `VideoSessionService` requires synthetic accessor"
errorLine1=" showToastIfFailed(mMediaPlayer.setAudioAttributes(mAudioAttributes),"
errorLine2=" ~~~~~~~~~~~~">
<location
file="src/main/java/androidx/media2/integration/testapp/VideoSessionService.java"
line="145"
column="31"/>
</issue>
<issue
id="MissingApplicationIcon"
message="Should explicitly set `android:icon`, there is no default"
errorLine1=" &lt;application android:label=&quot;Video View Test&quot;"
errorLine2=" ~~~~~~~~~~~">
<location
file="src/main/AndroidManifest.xml"
line="27"
column="6"/>
</issue>
<issue
id="TextFields"
message="This text field does not specify an `inputType`"
errorLine1=" &lt;EditText"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/activity_video_selector.xml"
line="54"
column="6"/>
</issue>
<issue
id="ClickableViewAccessibility"
message="Custom view ``MyVideoView`` has `setOnTouchListener` called on it but does not override `performClick`"
errorLine1=" mVideoView.setOnTouchListener(new View.OnTouchListener() {"
errorLine2=" ^">
<location
file="src/main/java/androidx/media2/integration/testapp/VideoPlayerActivity.java"
line="93"
column="9"/>
</issue>
<issue
id="ClickableViewAccessibility"
message="`onTouch` should call `View#performClick` when a click is detected"
errorLine1=" public boolean onTouch(View v, MotionEvent event) {"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/androidx/media2/integration/testapp/VideoPlayerActivity.java"
line="95"
column="28"/>
</issue>
<issue
id="ClickableViewAccessibility"
message="`onTouch` should call `View#performClick` when a click is detected"
errorLine1=" public boolean onTouch(View v, MotionEvent event) {"
errorLine2=" ~~~~~~~">
<location
file="src/main/java/androidx/media2/integration/testapp/VideoPlayerActivity.java"
line="111"
column="28"/>
</issue>
<issue
id="LabelFor"
message="Missing accessibility label: provide either a view with an `android:labelFor` that references this view or provide an `android:hint`"
errorLine1=" &lt;EditText"
errorLine2=" ~~~~~~~~">
<location
file="src/main/res/layout/activity_video_selector.xml"
line="54"
column="6"/>
</issue>
<issue
id="RtlHardcoded"
message="Consider replacing `android:layout_marginLeft` with `android:layout_marginStart=&quot;40dp&quot;` to better support right-to-left layouts"
errorLine1=" android:layout_marginLeft=&quot;40dp&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/layout/activity_video_player.xml"
line="56"
column="9"/>
</issue>
<issue
id="RtlHardcoded"
message="Consider replacing `android:layout_marginLeft` with `android:layout_marginStart=&quot;340dp&quot;` to better support right-to-left layouts"
errorLine1=" android:layout_marginLeft=&quot;340dp&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/layout/activity_video_player.xml"
line="68"
column="9"/>
</issue>
<issue
id="RtlHardcoded"
message="Consider replacing `android:layout_alignParentRight` with `android:layout_alignParentEnd=&quot;true&quot;` to better support right-to-left layouts"
errorLine1=" android:layout_alignParentRight=&quot;true&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/layout/activity_video_selector.xml"
line="34"
column="9"/>
</issue>
<issue
id="RtlHardcoded"
message="Consider replacing `android:layout_toLeftOf` with `android:layout_toStartOf=&quot;@id/looping_checkbox&quot;` to better support right-to-left layouts"
errorLine1=" android:layout_toLeftOf=&quot;@id/looping_checkbox&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/layout/activity_video_selector.xml"
line="43"
column="9"/>
</issue>
<issue
id="RtlHardcoded"
message="Consider replacing `android:layout_alignParentRight` with `android:layout_alignParentEnd=&quot;true&quot;` to better support right-to-left layouts"
errorLine1=" android:layout_alignParentRight=&quot;true&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/layout/activity_video_selector.xml"
line="51"
column="9"/>
</issue>
<issue
id="RtlHardcoded"
message="Consider replacing `android:layout_alignParentLeft` with `android:layout_alignParentStart=&quot;true&quot;` to better support right-to-left layouts"
errorLine1=" android:layout_alignParentLeft=&quot;true&quot;"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/layout/activity_video_selector.xml"
line="59"
column="9"/>
</issue>
<issue
id="RtlHardcoded"
message="Consider replacing `android:layout_toLeftOf` with `android:layout_toStartOf=&quot;@id/play_button&quot;` to better support right-to-left layouts"
errorLine1=" android:layout_toLeftOf=&quot;@id/play_button&quot; />"
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~">
<location
file="src/main/res/layout/activity_video_selector.xml"
line="60"
column="9"/>
</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 void onCreate(Bundle savedInstanceState) {"
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/media2/integration/testapp/VideoPlayerActivity.java"
line="84"
column="26"/>
</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/integration/testapp/VideoPlayerActivity.java"
line="171"
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 void onCreate(Bundle savedInstanceState) {"
errorLine2=" ~~~~~~">
<location
file="src/main/java/androidx/media2/integration/testapp/VideoSelectorActivity.java"
line="70"
column="26"/>
</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 void onRequestPermissionsResult(int requestCode, String[] permissions, int[] results) {"
errorLine2=" ~~~~~~~~">
<location
file="src/main/java/androidx/media2/integration/testapp/VideoSelectorActivity.java"
line="121"
column="61"/>
</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 void onRequestPermissionsResult(int requestCode, String[] permissions, int[] results) {"
errorLine2=" ~~~~~">
<location
file="src/main/java/androidx/media2/integration/testapp/VideoSelectorActivity.java"
line="121"
column="83"/>
</issue>
</issues>