Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No implementation found for plugin dispose method mainly on Android TV devices #1179

Open
under3415 opened this issue Jan 26, 2024 · 4 comments
Assignees
Labels
1 backlog bug Something isn't working

Comments

@under3415
Copy link

Which API doesn't behave as documented, and how does it misbehave?

Below crash is reported by Firebase Crashlytics in production from some, mainly Android TV devices. I cannot replicate.

MissingPluginException: No implementation found for method dispose on channel com.ryanheise.just_audio.methods.

Minimal reproduction project
I cannot replicate this, it is happening very infrequently in prod, mainly on Android TV devices as explained on SO.

To Reproduce (i.e. user steps, not code)
Cannot reproduce.
My dispose code looks like this. Despite try/catch block I am getting unhandled error

 @override
  dispose() {
    try {
      _timer?.cancel(); //stop the timer
      WidgetsBinding.instance.removeObserver(this);
      _controller.dispose(); //disp[ose controller playing animations
      WakelockPlus.disable(); //disable wake lock
      _soundPlayer.dispose(); //dispose just_audio player #1
      _musicPlayer.dispose(); //dispose just_audio player #2
    } catch (ex, st) {
      FirebaseCrashlytics.instance
          .recordError(ex, st, reason: 'workoutDispose');
    }
    super.dispose();
  }

Error messages

Fatal Exception: io.flutter.plugins.firebase.crashlytics.FlutterError: MissingPluginException(No implementation found for method dispose on channel com.ryanheise.just_audio.methods.36090486-58da-44d3-9ca0-f1f29e063203)
#00 pc 0x891c6f com.example.app (MethodChannel._invokeMethod [platform_channel.dart:320]) (BuildId: 3aa6f915bd6b94591e48b711e1f3fe18)
#01 pc 0x8a201f com.example.app (MethodChannelAudioPlayer.dispose [method_channel_just_audio.dart:174]) (BuildId: 3aa6f915bd6b94591e48b711e1f3fe18)
#02 pc 0x87400f com.example.app (AudioPlayer._disposePlatform [just_audio.dart:1494]) (BuildId: 3aa6f915bd6b94591e48b711e1f3fe18)
#03 pc 0x888937 com.example.app (AudioPlayer.dispose [just_audio.dart:1204]) (BuildId: 3aa6f915bd6b94591e48b711e1f3fe18)

Expected behavior
No crash

Screenshots
N/A

Desktop (please complete the following information):
N/A

Smartphone (please complete the following information):

  • Device: ZALA_SmartBox DV9135 (HiMedia TV)
  • OS: Android 11

Flutter SDK version

Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, 3.16.9, on Microsoft Windows [Version 10.0.22631.3007], locale en-NZ)
[√] Windows Version (Installed version of Windows is version 10 or higher)
[√] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[√] Android Studio (version 2023.1)
[√] VS Code (version 1.85.2)

Additional context
N/A

@under3415 under3415 added 1 backlog bug Something isn't working labels Jan 26, 2024
@under3415
Copy link
Author

More crashes reported by Crashlytics:

image

@ryanheise
Copy link
Owner

Looking at your SO question, do you know whether it is the first or second player that's crashing? If the second, it may be a bug in just audio. If the first it may be something to do with other components of your app. I can't look into that without a reproduction project.

@under3415
Copy link
Author

I cannot tell, the error only has plugin code references, not my own code.

@ryanheise
Copy link
Owner

Then I don't have any way to investigate this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
1 backlog bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants