-
Notifications
You must be signed in to change notification settings - Fork 29.8k
Closed
flutter/packages
#7641Labels
P2Important issues not at the top of the work listImportant issues not at the top of the work listfound in release: 3.24Found to occur in 3.24Found to occur in 3.24found in release: 3.25Found to occur in 3.25Found to occur in 3.25has reproducible stepsThe issue has been confirmed reproducible and is ready to work onThe issue has been confirmed reproducible and is ready to work onp: video_playerThe Video Player pluginThe Video Player pluginpackageflutter/packages repository. See also p: labels.flutter/packages repository. See also p: labels.platform-androidAndroid applications specificallyAndroid applications specificallyr: fixedIssue is closed as already fixed in a newer versionIssue is closed as already fixed in a newer versionteam-androidOwned by Android platform teamOwned by Android platform teamtriaged-androidTriaged by Android platform teamTriaged by Android platform team
Description
Steps to reproduce
- run code samples in debug and release
- init VideoPlayerController from local file
- play or pause video
- click share button to share video file
- dismiss share
Expected results
- video keep play or pause state
Actual results
MediaCodecRenderer: Failed to initialize decoder: OMX.MTK.VIDEO.DECODER.AVC
MediaCodecRenderer: DecoderInitializationException: Decoder init failed: OMX.MTK.VIDEO.DECODER.AVC, Format(1, null, null, video/avc, avc1.64001F, -1, null, [720, 1280, 30.0, ColorInfo(BT709, Limited range, SDR SMPTE 170M, false, 8bit Luma, 8bit Chroma)], [-1, -1])
Code sample
Code sample
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:video_player/video_player.dart';
import 'package:share_plus/share_plus.dart';
import 'package:mime/mime.dart';
import 'package:path/path.dart';
class ButterFlyAssetVideo extends StatefulWidget {
@override
ButterFlyAssetVideoState createState() => ButterFlyAssetVideoState();
}
class ButterFlyAssetVideoState extends State<ButterFlyAssetVideo> {
late VideoPlayerController _controller;
String fp = '/storage/emulated/0/Download/1134977543617888510.mp4';
@override
void initState() {
super.initState();
_controller = VideoPlayerController.file(File(fp));
_controller.addListener(() {
setState(() {});
});
_controller.setLooping(true);
_controller.initialize().then((_) => setState(() {}));
_controller.play();
}
@override
void dispose() {
_controller.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return SingleChildScrollView(
child: Column(
children: <Widget>[
Container(
padding: const EdgeInsets.only(top: 20.0),
),
const Text('With assets mp4'),
Container(
padding: const EdgeInsets.all(20),
child: AspectRatio(
aspectRatio: _controller.value.aspectRatio,
child: Stack(
alignment: Alignment.bottomCenter,
children: <Widget>[
VideoPlayer(_controller),
_ControlsOverlay(controller: _controller),
VideoProgressIndicator(_controller, allowScrubbing: true),
],
),
),
),
],
),
);
}
}
class _ControlsOverlay extends StatelessWidget {
const _ControlsOverlay({required this.controller});
static const List<Duration> _exampleCaptionOffsets = <Duration>[
Duration(seconds: -10),
Duration(seconds: -3),
Duration(seconds: -1, milliseconds: -500),
Duration(milliseconds: -250),
Duration.zero,
Duration(milliseconds: 250),
Duration(seconds: 1, milliseconds: 500),
Duration(seconds: 3),
Duration(seconds: 10),
];
static const List<double> _examplePlaybackRates = <double>[
0.25,
0.5,
1.0,
1.5,
2.0,
3.0,
5.0,
10.0,
];
final VideoPlayerController controller;
@override
Widget build(BuildContext context) {
return Stack(
children: <Widget>[
AnimatedSwitcher(
duration: const Duration(milliseconds: 50),
reverseDuration: const Duration(milliseconds: 200),
child: controller.value.isPlaying
? const SizedBox.shrink()
: const ColoredBox(
color: Colors.black26,
child: Center(
child: Icon(
Icons.play_arrow,
color: Colors.white,
size: 100.0,
semanticLabel: 'Play',
),
),
),
),
GestureDetector(
onTap: () {
controller.value.isPlaying ? controller.pause() : controller.play();
},
),
Align(
alignment: Alignment.topLeft,
child: PopupMenuButton<Duration>(
initialValue: controller.value.captionOffset,
tooltip: 'Caption Offset',
onSelected: (Duration delay) {
controller.setCaptionOffset(delay);
},
itemBuilder: (BuildContext context) {
return <PopupMenuItem<Duration>>[
for (final Duration offsetDuration in _exampleCaptionOffsets)
PopupMenuItem<Duration>(
value: offsetDuration,
child: Text('${offsetDuration.inMilliseconds}ms'),
)
];
},
child: Padding(
padding: const EdgeInsets.symmetric(
// Using less vertical padding as the text is also longer
// horizontally, so it feels like it would need more spacing
// horizontally (matching the aspect ratio of the video).
vertical: 12,
horizontal: 16,
),
child: Text('${controller.value.captionOffset.inMilliseconds}ms'),
),
),
),
Align(
alignment: Alignment.topRight,
child: PopupMenuButton<double>(
initialValue: controller.value.playbackSpeed,
tooltip: 'Playback speed',
onSelected: (double speed) {
controller.setPlaybackSpeed(speed);
},
itemBuilder: (BuildContext context) {
return <PopupMenuItem<double>>[
for (final double speed in _examplePlaybackRates)
PopupMenuItem<double>(
value: speed,
child: Text('${speed}x'),
)
];
},
child: Padding(
padding: const EdgeInsets.symmetric(
// Using less vertical padding as the text is also longer
// horizontally, so it feels like it would need more spacing
// horizontally (matching the aspect ratio of the video).
vertical: 12,
horizontal: 16,
),
child: Text('${controller.value.playbackSpeed}x'),
),
),
),
Positioned(
// alignment: Alignment.bottomRight,
bottom: 32,
right: 8,
child: IconButton(
onPressed: () async {
var medias = List<String>.filled(
1, '/storage/emulated/0/Download/1134977543617888510.mp4');
// share file
try {
await shareWithResult(medias);
} catch (e) {
debugPrint('share error: $e');
}
},
icon:
const Icon(Icons.share_outlined, color: Colors.white, size: 36),
),
),
],
);
}
Future<void> shareWithResult(List<String> medias) async {
ShareResult shareResult;
final files = <XFile>[];
for (var i = 0; i < medias.length; i++) {
var mt = lookupMimeType(medias[i]);
debugPrint('file: ${medias[i]}, type: $mt');
XFile xfile;
if (mt != null && mt.startsWith('image')) {
debugPrint('add image file to share!');
xfile = XFile(medias[i], name: basename(medias[i]), mimeType: mt);
} else {
xfile = XFile(medias[i], name: basename(medias[i]));
}
// only support share one file per time
if (files.isEmpty) {
files.add(xfile);
}
}
String status = 'share result: ';
try {
shareResult = await Share.shareXFiles(
files,
text: 'share text',
subject: 'share subject',
);
if (shareResult.status == ShareResultStatus.success) {
status = "$status: share succeed.";
} else if (shareResult.status == ShareResultStatus.dismissed) {
status = "$status: share dismissed.";
} else {
status = "$status: share unavailable!";
}
} catch (e) {
debugPrint('share error: $e');
}
}
}
Screenshots or Video
Screenshots / Video demonstration
1. play video from file
2. click share
3. dissmiss share, resume play video page
4. state error, play or pause button can not work, and video progress indicator keep moving
Logs
Logs
[+1460 ms] I/flutter (19615): file: /storage/emulated/0/Download/1134977543617888510.mp4, type: video/mp4
[ +563 ms] V/CCodec (19615): watch for 1 codecs
[ ] D/PipelineWatcher(19615): DEBUG: elapsed 2 / 2
[+1727 ms] D/BufferPoolAccessor2.0(19615): bufferpool2 0xb40000773a80d028 : 6(49152 size) total buffers - 5(40960 size) used buffers - 1/7 (recycle/alloc) - 6/44 (fetch/transfer)
[ ] D/BufferPoolAccessor2.0(19615): evictor expired: 1, evicted: 1
[ +55 ms] I/FA (19615): Application backgrounded at: timestamp_millis: 1725375039034
[+12961 ms] I/ExoPlayerImpl(19615): Init 6fa0e3a [AndroidXMedia3/1.4.0] [PD2164, V2164A, vivo, 30]
[ +42 ms] W/AString (19615): ctor got NULL, using empty string instead
[ ] D/MediaCodec(19615): CreateByComponentName,componentName is:OMX.MTK.VIDEO.DECODER.AVC
[ ] I/ACodec (19615): mIsVivoLogEnable = 0
[ +4 ms] I/OMXClient(19615): IOmx service obtained
[ +3 ms] D/MediaCodec(19615): flushMediametrics
[ ] D/SurfaceUtils(19615): connecting to surface 0xb4000073e82d8010, reason connectToSurface
[ ] E/BufferQueueProducer(19615): [ImageReader-1x1f22m5-19615-0](id:4c9f00000000,api:3,p:19615,c:19615) connect: already connected (cur=3 req=3)
[ ] E/SurfaceUtils(19615): Failed to connect to surface 0xb4000073e82d8010, err -22
[ ] E/MediaCodec(19615): nativeWindowConnect returned an error: Invalid argument (-22)
[ ] E/MediaCodec(19615): configure failed with err 0xffffffea, resetting...
[ +3 ms] I/ACodec (19615): mIsVivoLogEnable = 0
[ ] I/OMXClient(19615): IOmx service obtained
[ +6 ms] W/MediaCodecRenderer(19615): Failed to initialize decoder: OMX.MTK.VIDEO.DECODER.AVC
[ ] W/MediaCodecRenderer(19615): java.lang.IllegalArgumentException
[ ] W/MediaCodecRenderer(19615): at android.media.MediaCodec.native_configure(Native Method)
[ ] W/MediaCodecRenderer(19615): at android.media.MediaCodec.configure(MediaCodec.java:2158)
[ ] W/MediaCodecRenderer(19615): at android.media.MediaCodec.configure(MediaCodec.java:2074)
[ ] W/MediaCodecRenderer(19615): at androidx.media3.exoplayer.mediacodec.SynchronousMediaCodecAdapter$Factory.createAdapter(SynchronousMediaCodecAdapter.java:53)
[ ] W/MediaCodecRenderer(19615): at androidx.media3.exoplayer.mediacodec.DefaultMediaCodecAdapterFactory.createAdapter(DefaultMediaCodecAdapterFactory.java:139)
[ ] W/MediaCodecRenderer(19615): at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.initCodec(MediaCodecRenderer.java:1225)
[ ] W/MediaCodecRenderer(19615): at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1137)
[ ] W/MediaCodecRenderer(19615): at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.maybeInitCodecOrBypass(MediaCodecRenderer.java:588)
[ ] W/MediaCodecRenderer(19615): at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1602)
[ ] W/MediaCodecRenderer(19615): at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:1182)
[ ] W/MediaCodecRenderer(19615): at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.readSourceOmittingSampleData(MediaCodecRenderer.java:1042)
[ ] W/MediaCodecRenderer(19615): at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:860)
[ ] W/MediaCodecRenderer(19615): at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.render(MediaCodecVideoRenderer.java:1018)
[ ] W/MediaCodecRenderer(19615): at androidx.media3.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1136)
[ ] W/MediaCodecRenderer(19615): at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:561)
[ ] W/MediaCodecRenderer(19615): at android.os.Handler.dispatchMessage(Handler.java:102)
[ ] W/MediaCodecRenderer(19615): at android.os.Looper.loop(Looper.java:257)
[ ] W/MediaCodecRenderer(19615): at android.os.HandlerThread.run(HandlerThread.java:67)
[ ] E/MediaCodecVideoRenderer(19615): Video codec error
[ ] E/MediaCodecVideoRenderer(19615): androidx.media3.exoplayer.mediacodec.MediaCodecRenderer$DecoderInitializationException: Decoder init failed: OMX.MTK.VIDEO.DECODER.AVC, Format(1, null, null, video/avc, avc1.64001F, -1, null, [720, 1280, 30.0, ColorInfo(BT709, Limited range, SDR SMPTE 170M, false, 8bit Luma, 8bit Chroma)], [-1, -1])
[ ] E/MediaCodecVideoRenderer(19615): at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1144)
[ ] E/MediaCodecVideoRenderer(19615): at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.maybeInitCodecOrBypass(MediaCodecRenderer.java:588)
[ ] E/MediaCodecVideoRenderer(19615): at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1602)
[ ] E/MediaCodecVideoRenderer(19615): at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:1182)
[ ] E/MediaCodecVideoRenderer(19615): at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.readSourceOmittingSampleData(MediaCodecRenderer.java:1042)
[ ] E/MediaCodecVideoRenderer(19615): at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:860)
[ ] E/MediaCodecVideoRenderer(19615): at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.render(MediaCodecVideoRenderer.java:1018)
[ ] E/MediaCodecVideoRenderer(19615): at androidx.media3.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1136)
[ ] E/MediaCodecVideoRenderer(19615): at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:561)
[ ] E/MediaCodecVideoRenderer(19615): at android.os.Handler.dispatchMessage(Handler.java:102)
[ ] E/MediaCodecVideoRenderer(19615): at android.os.Looper.loop(Looper.java:257)
[ ] E/MediaCodecVideoRenderer(19615): at android.os.HandlerThread.run(HandlerThread.java:67)
[ ] E/MediaCodecVideoRenderer(19615): Caused by: java.lang.IllegalArgumentException
[ ] E/MediaCodecVideoRenderer(19615): at android.media.MediaCodec.native_configure(Native Method)
[ ] E/MediaCodecVideoRenderer(19615): at android.media.MediaCodec.configure(MediaCodec.java:2158)
[ ] E/MediaCodecVideoRenderer(19615): at android.media.MediaCodec.configure(MediaCodec.java:2074)
[ ] E/MediaCodecVideoRenderer(19615): at androidx.media3.exoplayer.mediacodec.SynchronousMediaCodecAdapter$Factory.createAdapter(SynchronousMediaCodecAdapter.java:53)
[ ] E/MediaCodecVideoRenderer(19615): at androidx.media3.exoplayer.mediacodec.DefaultMediaCodecAdapterFactory.createAdapter(DefaultMediaCodecAdapterFactory.java:139)
[ ] E/MediaCodecVideoRenderer(19615): at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.initCodec(MediaCodecRenderer.java:1225)
[ ] E/MediaCodecVideoRenderer(19615): at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1137)
[ ] E/MediaCodecVideoRenderer(19615): ... 11 more
[ ] E/ExoPlayerImplInternal(19615): Playback error
[ ] E/ExoPlayerImplInternal(19615): androidx.media3.exoplayer.ExoPlaybackException: MediaCodecVideoRenderer error, index=0, format=Format(1, null, null, video/avc, avc1.64001F, -1, null, [720, 1280, 30.0, ColorInfo(BT709, Limited range, SDR SMPTE 170M, false, 8bit Luma, 8bit Chroma)], [-1, -1]), format_supported=YES
[ ] E/ExoPlayerImplInternal(19615): at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:640)
[ ] E/ExoPlayerImplInternal(19615): at android.os.Handler.dispatchMessage(Handler.java:102)
[ ] E/ExoPlayerImplInternal(19615): at android.os.Looper.loop(Looper.java:257)
[ ] E/ExoPlayerImplInternal(19615): at android.os.HandlerThread.run(HandlerThread.java:67)
[ ] E/ExoPlayerImplInternal(19615): Caused by: androidx.media3.exoplayer.mediacodec.MediaCodecRenderer$DecoderInitializationException: Decoder init failed: OMX.MTK.VIDEO.DECODER.AVC, Format(1, null, null, video/avc, avc1.64001F, -1, null, [720, 1280, 30.0, ColorInfo(BT709, Limited range, SDR SMPTE 170M, false, 8bit Luma, 8bit Chroma)], [-1, -1])
[ ] E/ExoPlayerImplInternal(19615): at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1144)
[ ] E/ExoPlayerImplInternal(19615): at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.maybeInitCodecOrBypass(MediaCodecRenderer.java:588)
[ ] E/ExoPlayerImplInternal(19615): at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.onInputFormatChanged(MediaCodecRenderer.java:1602)
[ ] E/ExoPlayerImplInternal(19615): at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.onInputFormatChanged(MediaCodecVideoRenderer.java:1182)
[ ] E/ExoPlayerImplInternal(19615): at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.readSourceOmittingSampleData(MediaCodecRenderer.java:1042)
[ ] E/ExoPlayerImplInternal(19615): at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.render(MediaCodecRenderer.java:860)
[ ] E/ExoPlayerImplInternal(19615): at androidx.media3.exoplayer.video.MediaCodecVideoRenderer.render(MediaCodecVideoRenderer.java:1018)
[ ] E/ExoPlayerImplInternal(19615): at androidx.media3.exoplayer.ExoPlayerImplInternal.doSomeWork(ExoPlayerImplInternal.java:1136)
[ ] E/ExoPlayerImplInternal(19615): at androidx.media3.exoplayer.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:561)
[ ] E/ExoPlayerImplInternal(19615): ... 3 more
[ ] E/ExoPlayerImplInternal(19615): Caused by: java.lang.IllegalArgumentException
[ ] E/ExoPlayerImplInternal(19615): at android.media.MediaCodec.native_configure(Native Method)
[ ] E/ExoPlayerImplInternal(19615): at android.media.MediaCodec.configure(MediaCodec.java:2158)
[ ] E/ExoPlayerImplInternal(19615): at android.media.MediaCodec.configure(MediaCodec.java:2074)
[ ] E/ExoPlayerImplInternal(19615): at androidx.media3.exoplayer.mediacodec.SynchronousMediaCodecAdapter$Factory.createAdapter(SynchronousMediaCodecAdapter.java:53)
[ ] E/ExoPlayerImplInternal(19615): at androidx.media3.exoplayer.mediacodec.DefaultMediaCodecAdapterFactory.createAdapter(DefaultMediaCodecAdapterFactory.java:139)
[ ] E/ExoPlayerImplInternal(19615): at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.initCodec(MediaCodecRenderer.java:1225)
[ ] E/ExoPlayerImplInternal(19615): at androidx.media3.exoplayer.mediacodec.MediaCodecRenderer.maybeInitCodecWithFallback(MediaCodecRenderer.java:1137)
[ ] E/ExoPlayerImplInternal(19615): ... 11 more
[ ] D/MediaCodec(19615): flushMediametrics
[ +7 ms] D/MediaCodec(19615): flushMediametrics
[+1669 ms] I/TRuntime.CctTransportBackend(19615): Making request to: https://firebaselogging-pa.googleapis.com/v1/firelog/legacy/batchlogFlutter Doctor output
Doctor output
[✓] Flutter (Channel stable, 3.24.0, on macOS 14.6.1 23G93 darwin-x64, locale zh-Hans-HK)
• Flutter version 3.24.0 on channel stable at /Users/bruce/fvm/versions/3.24.0
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 80c2e84975 (5 weeks ago), 2024-07-30 23:06:49 +0700
• Engine revision b8800d88be
• Dart version 3.5.0
• DevTools version 2.37.2
• Pub download mirror https://pub.flutter-io.cn
• Flutter download mirror https://storage.flutter-io.cn
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
• Android SDK at /Users/bruce/Library/Android/sdk
• Platform android-34, build-tools 34.0.0
• Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 17.0.10+0-17.0.10b1087.21-11572160)
• All Android licenses accepted.
[!] Xcode - develop for iOS and macOS (Xcode 15.3)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 15E204a
✗ Unable to get list of installed Simulator runtimes.
! CocoaPods 1.11.3 out of date (1.13.0 is recommended).
CocoaPods is a package manager for iOS or macOS platform code.
Without CocoaPods, plugins will not work on iOS or macOS.
For more info, see https://flutter.dev/to/platform-plugins
To update CocoaPods, see https://guides.cocoapods.org/using/getting-started.html#updating-cocoapods
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 2023.3)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 17.0.10+0-17.0.10b1087.21-11572160)
[✓] VS Code (version 1.92.2)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.94.0
[✓] Connected device (3 available)
• V2164A (mobile) • 344393009600178 • android-arm64 • Android 11 (API 30)
• macOS (desktop) • macos • darwin-x64 • macOS 14.6.1 23G93 darwin-x64
• Chrome (web) • chrome • web-javascript • Google Chrome 128.0.6613.114
[✓] Network resources
• All expected network resources are available.
! Doctor found issues in 1 category.haashem
Metadata
Metadata
Assignees
Labels
P2Important issues not at the top of the work listImportant issues not at the top of the work listfound in release: 3.24Found to occur in 3.24Found to occur in 3.24found in release: 3.25Found to occur in 3.25Found to occur in 3.25has reproducible stepsThe issue has been confirmed reproducible and is ready to work onThe issue has been confirmed reproducible and is ready to work onp: video_playerThe Video Player pluginThe Video Player pluginpackageflutter/packages repository. See also p: labels.flutter/packages repository. See also p: labels.platform-androidAndroid applications specificallyAndroid applications specificallyr: fixedIssue is closed as already fixed in a newer versionIssue is closed as already fixed in a newer versionteam-androidOwned by Android platform teamOwned by Android platform teamtriaged-androidTriaged by Android platform teamTriaged by Android platform team


