mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
500 lines
23 KiB
XML
500 lines
23 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<issues format="4" by="lint 26.1.1">
|
|
|
|
<issue
|
|
id="Assert"
|
|
message="Assertions are unreliable in Dalvik and unimplemented in ART. Use `BuildConfig.DEBUG` conditional checks instead."
|
|
errorLine1=" assert semanticsNode.id > ROOT_NODE_ID;"
|
|
errorLine2=" ~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/view/AccessibilityBridge.java"
|
|
line="537"
|
|
column="13"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="Assert"
|
|
message="Assertions are unreliable in Dalvik and unimplemented in ART. Use `BuildConfig.DEBUG` conditional checks instead."
|
|
errorLine1=" assert semanticsNode.id == ROOT_NODE_ID;"
|
|
errorLine2=" ~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/view/AccessibilityBridge.java"
|
|
line="540"
|
|
column="13"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="Assert"
|
|
message="Assertions are unreliable in Dalvik and unimplemented in ART. Use `BuildConfig.DEBUG` conditional checks instead."
|
|
errorLine1=" assert !(hasCheckedState && hasToggledState);"
|
|
errorLine2=" ~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/view/AccessibilityBridge.java"
|
|
line="649"
|
|
column="9"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="Assert"
|
|
message="Assertions are unreliable in Dalvik and unimplemented in ART. Use `BuildConfig.DEBUG` conditional checks instead."
|
|
errorLine1=" assert flutterSemanticsTree.containsKey(0);"
|
|
errorLine2=" ~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/view/AccessibilityBridge.java"
|
|
line="984"
|
|
column="9"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="Assert"
|
|
message="Assertions are unreliable in Dalvik and unimplemented in ART. Use `BuildConfig.DEBUG` conditional checks instead."
|
|
errorLine1=" assert(object.scrollIndex + visibleChildren <= object.scrollChildren);"
|
|
errorLine2=" ~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/view/AccessibilityBridge.java"
|
|
line="1240"
|
|
column="21"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="Assert"
|
|
message="Assertions are unreliable in Dalvik and unimplemented in ART. Use `BuildConfig.DEBUG` conditional checks instead."
|
|
errorLine1=" assert(!object.childrenInHitTestOrder.get(object.scrollIndex).hasFlag(Flag.IS_HIDDEN));"
|
|
errorLine2=" ~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/view/AccessibilityBridge.java"
|
|
line="1241"
|
|
column="21"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="Assert"
|
|
message="Assertions are unreliable in Dalvik and unimplemented in ART. Use `BuildConfig.DEBUG` conditional checks instead."
|
|
errorLine1=" assert virtualViewId != ROOT_NODE_ID;"
|
|
errorLine2=" ~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/view/AccessibilityBridge.java"
|
|
line="1393"
|
|
column="9"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="Assert"
|
|
message="Assertions are unreliable in Dalvik and unimplemented in ART. Use `BuildConfig.DEBUG` conditional checks instead."
|
|
errorLine1=" assert flutterSemanticsTree.containsKey(semanticsNodeToBeRemoved.id);"
|
|
errorLine2=" ~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/view/AccessibilityBridge.java"
|
|
line="1405"
|
|
column="9"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="Assert"
|
|
message="Assertions are unreliable in Dalvik and unimplemented in ART. Use `BuildConfig.DEBUG` conditional checks instead."
|
|
errorLine1=" assert flutterSemanticsTree.get(semanticsNodeToBeRemoved.id) == semanticsNodeToBeRemoved;"
|
|
errorLine2=" ~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/view/AccessibilityBridge.java"
|
|
line="1406"
|
|
column="9"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="Assert"
|
|
message="Assertions are unreliable in Dalvik and unimplemented in ART. Use `BuildConfig.DEBUG` conditional checks instead."
|
|
errorLine1=" assert hadPreviousConfig;"
|
|
errorLine2=" ~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/view/AccessibilityBridge.java"
|
|
line="1701"
|
|
column="13"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="Assert"
|
|
message="Assertions are unreliable in Dalvik and unimplemented in ART. Use `BuildConfig.DEBUG` conditional checks instead."
|
|
errorLine1=" assert action.overrideId == -1;"
|
|
errorLine2=" ~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/view/AccessibilityBridge.java"
|
|
line="1830"
|
|
column="25"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="Assert"
|
|
message="Assertions are unreliable in Dalvik and unimplemented in ART. Use `BuildConfig.DEBUG` conditional checks instead."
|
|
errorLine1=" assert !globalGeometryDirty;"
|
|
errorLine2=" ~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/view/AccessibilityBridge.java"
|
|
line="1852"
|
|
column="13"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="Assert"
|
|
message="Assertions are unreliable in Dalvik and unimplemented in ART. Use `BuildConfig.DEBUG` conditional checks instead."
|
|
errorLine1=" assert packet.position() % (POINTER_DATA_FIELD_COUNT * BYTE_PER_FIELD) == 0;"
|
|
errorLine2=" ~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/embedding/engine/android/AndroidTouchProcessor.java"
|
|
line="80"
|
|
column="5"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="Assert"
|
|
message="Assertions are unreliable in Dalvik and unimplemented in ART. Use `BuildConfig.DEBUG` conditional checks instead."
|
|
errorLine1=" assert 0 <= value;"
|
|
errorLine2=" ~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/plugin/common/StandardMessageCodec.java"
|
|
line="112"
|
|
column="9"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="InlinedApi"
|
|
message="Field requires API level 18 (current min is 16): `android.content.pm.ActivityInfo#SCREEN_ORIENTATION_USER_PORTRAIT`"
|
|
errorLine1=" return ActivityInfo.SCREEN_ORIENTATION_USER_PORTRAIT;"
|
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/PlatformChannel.java"
|
|
line="221"
|
|
column="16"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="InlinedApi"
|
|
message="Field requires API level 18 (current min is 16): `android.content.pm.ActivityInfo#SCREEN_ORIENTATION_USER_LANDSCAPE`"
|
|
errorLine1=" return ActivityInfo.SCREEN_ORIENTATION_USER_LANDSCAPE;"
|
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/PlatformChannel.java"
|
|
line="225"
|
|
column="16"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="InlinedApi"
|
|
message="Field requires API level 18 (current min is 16): `android.content.pm.ActivityInfo#SCREEN_ORIENTATION_FULL_USER`"
|
|
errorLine1=" return ActivityInfo.SCREEN_ORIENTATION_FULL_USER;"
|
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/embedding/engine/systemchannels/PlatformChannel.java"
|
|
line="229"
|
|
column="16"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="InlinedApi"
|
|
message="Field requires API level 21 (current min is 16): `android.view.HapticFeedbackConstants#CLOCK_TICK`"
|
|
errorLine1=" view.performHapticFeedback(HapticFeedbackConstants.CLOCK_TICK);"
|
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/plugin/platform/PlatformPlugin.java"
|
|
line="121"
|
|
column="44"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="InlinedApi"
|
|
message="Field requires API level 19 (current min is 16): `android.view.View#SYSTEM_UI_FLAG_IMMERSIVE_STICKY`"
|
|
errorLine1=" enabledOverlays |= View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;"
|
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/plugin/platform/PlatformPlugin.java"
|
|
line="154"
|
|
column="32"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="InlinedApi"
|
|
message="Field requires API level 17 (current min is 16): `android.view.View#LAYOUT_DIRECTION_LTR`"
|
|
errorLine1=" return direction == View.LAYOUT_DIRECTION_LTR || direction == View.LAYOUT_DIRECTION_RTL;"
|
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/plugin/platform/PlatformViewsController.java"
|
|
line="336"
|
|
column="29"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="InlinedApi"
|
|
message="Field requires API level 17 (current min is 16): `android.view.View#LAYOUT_DIRECTION_RTL`"
|
|
errorLine1=" return direction == View.LAYOUT_DIRECTION_LTR || direction == View.LAYOUT_DIRECTION_RTL;"
|
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/plugin/platform/PlatformViewsController.java"
|
|
line="336"
|
|
column="71"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="OldTargetApi"
|
|
message="Not targeting the latest versions of Android; compatibility modes apply. Consider testing and updating this version. Consult the `android.os.Build.VERSION_CODES` javadoc for details."
|
|
errorLine1=" <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="21" />"
|
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/AndroidManifest.xml"
|
|
line="8"
|
|
column="42"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="HardcodedDebugMode"
|
|
message="Avoid hardcoding the debug mode; leaving it out allows debug and release builds to automatically assign one"
|
|
errorLine1=" <application android:label="Flutter Shell" android:name="FlutterApplication" android:debuggable="true">"
|
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/AndroidManifest.xml"
|
|
line="13"
|
|
column="82"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="UnsafeDynamicallyLoadedCode"
|
|
message="Dynamically loading code using `load` is risky, please use `loadLibrary` instead when possible"
|
|
errorLine1=" System.load(lib.getAbsolutePath());"
|
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/view/FlutterMain.java"
|
|
line="164"
|
|
column="17"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="StaticFieldLeak"
|
|
message="Do not place Android context classes in static fields (static reference to `ResourceUpdater` which has field `context` pointing to `Context`); this is a memory leak (and also breaks Instant Run)"
|
|
errorLine1=" private static ResourceUpdater sResourceUpdater;"
|
|
errorLine2=" ~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/view/FlutterMain.java"
|
|
line="80"
|
|
column="13"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="StaticFieldLeak"
|
|
message="Do not place Android context classes in static fields (static reference to `ResourceExtractor` which has field `mContext` pointing to `Context`); this is a memory leak (and also breaks Instant Run)"
|
|
errorLine1=" private static ResourceExtractor sResourceExtractor;"
|
|
errorLine2=" ~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/view/FlutterMain.java"
|
|
line="81"
|
|
column="13"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="StaticFieldLeak"
|
|
message="This AsyncTask class should be static or leaks might occur (io.flutter.view.ResourceCleaner.CleanTask)"
|
|
errorLine1=" private class CleanTask extends AsyncTask<Void, Void, Void> {"
|
|
errorLine2=" ~~~~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/view/ResourceCleaner.java"
|
|
line="22"
|
|
column="19"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="StaticFieldLeak"
|
|
message="This AsyncTask class should be static or leaks might occur (io.flutter.view.ResourceExtractor.ExtractTask)"
|
|
errorLine1=" private class ExtractTask extends AsyncTask<Void, Void, Void> {"
|
|
errorLine2=" ~~~~~~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/view/ResourceExtractor.java"
|
|
line="48"
|
|
column="19"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="StaticFieldLeak"
|
|
message="This AsyncTask class should be static or leaks might occur (io.flutter.view.ResourceUpdater.DownloadTask)"
|
|
errorLine1=" private class DownloadTask extends AsyncTask<String, String, Void> {"
|
|
errorLine2=" ~~~~~~~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/view/ResourceUpdater.java"
|
|
line="92"
|
|
column="19"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="LogConditional"
|
|
message="The log call Log.i(...) should be conditional: surround with `if (Log.isLoggable(...))` or `if (BuildConfig.DEBUG) { ... }`"
|
|
errorLine1=" Log.i(TAG,"
|
|
errorLine2=" ^">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/view/AccessibilityBridge.java"
|
|
line="1718"
|
|
column="13"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="LogConditional"
|
|
message="The log call Log.println(...) should be conditional: surround with `if (Log.isLoggable(...))` or `if (BuildConfig.DEBUG) { ... }`"
|
|
errorLine1=" Log.println(level, tag, errorMessage + details);"
|
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/plugin/common/ErrorLogResult.java"
|
|
line="33"
|
|
column="9"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="LogConditional"
|
|
message="The log call Log.i(...) should be conditional: surround with `if (Log.isLoggable(...))` or `if (BuildConfig.DEBUG) { ... }`"
|
|
errorLine1=" Log.i(TAG, "Cleaning " + mFilesToDelete.length + " resources.");"
|
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/view/ResourceCleaner.java"
|
|
line="35"
|
|
column="13"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="LogConditional"
|
|
message="The log call Log.i(...) should be conditional: surround with `if (Log.isLoggable(...))` or `if (BuildConfig.DEBUG) { ... }`"
|
|
errorLine1=" Log.i(TAG, "Extracted baseline resource " + resource);"
|
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/view/ResourceExtractor.java"
|
|
line="201"
|
|
column="17"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="LogConditional"
|
|
message="The log call Log.i(...) should be conditional: surround with `if (Log.isLoggable(...))` or `if (BuildConfig.DEBUG) { ... }`"
|
|
errorLine1=" Log.i(TAG, "Extracted override resource " + entry.getName());"
|
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/view/ResourceExtractor.java"
|
|
line="328"
|
|
column="17"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="LogConditional"
|
|
message="The log call Log.i(...) should be conditional: surround with `if (Log.isLoggable(...))` or `if (BuildConfig.DEBUG) { ... }`"
|
|
errorLine1=" Log.i(TAG, "Checking for updates at " + unresolvedURL);"
|
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/view/ResourceUpdater.java"
|
|
line="102"
|
|
column="17"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="LogConditional"
|
|
message="The log call Log.i(...) should be conditional: surround with `if (Log.isLoggable(...))` or `if (BuildConfig.DEBUG) { ... }`"
|
|
errorLine1=" Log.i(TAG, "Resolved update URL " + resolvedURL);"
|
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/view/ResourceUpdater.java"
|
|
line="117"
|
|
column="17"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="LogConditional"
|
|
message="The log call Log.i(...) should be conditional: surround with `if (Log.isLoggable(...))` or `if (BuildConfig.DEBUG) { ... }`"
|
|
errorLine1=" Log.i(TAG, "HTTP response code " + responseCode);"
|
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/view/ResourceUpdater.java"
|
|
line="120"
|
|
column="17"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="LogConditional"
|
|
message="The log call Log.i(...) should be conditional: surround with `if (Log.isLoggable(...))` or `if (BuildConfig.DEBUG) { ... }`"
|
|
errorLine1=" Log.i(TAG, "Downloading update " + unresolvedURL);"
|
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/view/ResourceUpdater.java"
|
|
line="133"
|
|
column="21"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="LogConditional"
|
|
message="The log call Log.i(...) should be conditional: surround with `if (Log.isLoggable(...))` or `if (BuildConfig.DEBUG) { ... }`"
|
|
errorLine1=" Log.i(TAG, "Update downloaded in " + totalMillis / 100 / 10. + "s");"
|
|
errorLine2=" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/view/ResourceUpdater.java"
|
|
line="142"
|
|
column="25"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="UseSparseArrays"
|
|
message="Use `new SparseArray<SemanticsNode>(...)` instead for better performance"
|
|
errorLine1=" private final Map<Integer, SemanticsNode> flutterSemanticsTree = new HashMap<>();"
|
|
errorLine2=" ~~~~~~~~~~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/view/AccessibilityBridge.java"
|
|
line="135"
|
|
column="70"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="UseSparseArrays"
|
|
message="Use `new SparseArray<CustomAccessibilityAction>(...)` instead for better performance"
|
|
errorLine1=" private final Map<Integer, CustomAccessibilityAction> customAccessibilityActions = new HashMap<>();"
|
|
errorLine2=" ~~~~~~~~~~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/view/AccessibilityBridge.java"
|
|
line="160"
|
|
column="88"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="UseSparseArrays"
|
|
message="Use `new SparseArray<BinaryReply>(...)` instead for better performance"
|
|
errorLine1=" this.pendingReplies = new HashMap<>();"
|
|
errorLine2=" ~~~~~~~~~~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/embedding/engine/dart/DartMessenger.java"
|
|
line="43"
|
|
column="27"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="UseSparseArrays"
|
|
message="Use `new SparseArray<VirtualDisplayController>(...)` instead for better performance"
|
|
errorLine1=" vdControllers = new HashMap<>();"
|
|
errorLine2=" ~~~~~~~~~~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/plugin/platform/PlatformViewsController.java"
|
|
line="57"
|
|
column="25"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="ClickableViewAccessibility"
|
|
message="Custom view `FlutterView` overrides `onTouchEvent` but not `performClick`"
|
|
errorLine1=" public boolean onTouchEvent(MotionEvent event) {"
|
|
errorLine2=" ~~~~~~~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/embedding/engine/android/FlutterView.java"
|
|
line="311"
|
|
column="18"/>
|
|
</issue>
|
|
|
|
<issue
|
|
id="ClickableViewAccessibility"
|
|
message="Custom view `FlutterView` overrides `onTouchEvent` but not `performClick`"
|
|
errorLine1=" public boolean onTouchEvent(MotionEvent event) {"
|
|
errorLine2=" ~~~~~~~~~~~~">
|
|
<location
|
|
file="../../../flutter/shell/platform/android/io/flutter/view/FlutterView.java"
|
|
line="508"
|
|
column="20"/>
|
|
</issue>
|
|
|
|
</issues>
|