Athanax / fullscreen

MIT License
8 stars 13 forks source link

Application crashes on Android #3

Closed 0x-cell closed 3 years ago

0x-cell commented 3 years ago

Hey, I'm getting a lot of crashes after realising my app with this library.

I'm not able to reproduce myself but can only provide a stacktrace from PlayStore

Fatal Exception: g.b: An operation is not implemented: Not yet implemented at com.hustlance.fullscreen.FullscreenPlugin.a(FullscreenPlugin.java:21) at io.flutter.embedding.engine.FlutterEnginePluginRegistry.b(FlutterEnginePluginRegistry.java:52) at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onDetach(FlutterActivityAndFragmentDelegate.java:58) at io.flutter.embedding.android.FlutterActivity.onDestroy(FlutterActivity.java:10) at android.app.Activity.performDestroy(Activity.java:7737) at android.app.Instrumentation.callActivityOnDestroy(Instrumentation.java:1310) at android.app.ActivityThread.performDestroyActivity(ActivityThread.java:4790) at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:4828) at android.app.servertransaction.DestroyActivityItem.execute(DestroyActivityItem.java:39) at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:145) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1994) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:216) at android.app.ActivityThread.main(ActivityThread.java:7263) at java.lang.reflect.Method.invoke(Method.java) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:975

Any ideas what might be the issue?

Athanax commented 3 years ago

May I please know when you calling the methods of the Fullscreen plugin ` override fun onDetachedFromEngine(@NonNull binding: FlutterPlugin.FlutterPluginBinding) { channel.setMethodCallHandler(null) }

override fun onAttachedToActivity(binding: ActivityPluginBinding) {
    this.activity = binding.activity
    status()
}

override fun onDetachedFromActivityForConfigChanges() {
    TODO("Not yet implemented")
}

override fun onReattachedToActivityForConfigChanges(binding: ActivityPluginBinding) {
    this.activity = binding.activity
}

override fun onDetachedFromActivity() {
    TODO("Not yet implemented")
}`

it might help me solve the problem. Thanks in advance

0x-cell commented 3 years ago

Hey, sorry. I no longer have this code. I've moved to SystemChrome.setEnabledSystemUIOverlays([]); and SystemChrome.setEnabledSystemUIOverlays(SystemUiOverlay.values);

megamegax commented 3 years ago

I am seeing the same on my app

com.hustlance.fullscreen.FullscreenPlugin.a (FullscreenPlugin.java:21) io.flutter.embedding.engine.FlutterEngineConnectionRegistry.detachFromActivity (FlutterEngineConnectionRegistry.java:54) io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onDetach (FlutterActivityAndFragmentDelegate.java:58) io.flutter.embedding.android.FlutterActivity.release (FlutterActivity.java:7) io.flutter.embedding.android.FlutterActivity.onDestroy (FlutterActivity.java:11) android.app.Activity.performDestroy (Activity.java:8245) android.app.Instrumentation.callActivityOnDestroy (Instrumentation.java:1344) android.app.ActivityThread.performDestroyActivity (ActivityThread.java:5090) android.app.ActivityThread.handleDestroyActivity (ActivityThread.java:5135) android.app.servertransaction.DestroyActivityItem.execute (DestroyActivityItem.java:44) android.app.servertransaction.TransactionExecutor.executeLifecycleState (TransactionExecutor.java:176) android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:97) android.app.ActivityThread$H.handleMessage (ActivityThread.java:2066) android.os.Handler.dispatchMessage (Handler.java:106) android.os.Looper.loop (Looper.java:223) android.app.ActivityThread.main (ActivityThread.java:7660) java.lang.reflect.Method.invoke (Method.java) com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:592) com.android.internal.os.ZygoteInit.main (ZygoteInit.java:947)

My usage is to create a FullScreen() instance during building my DependencyContainer, then load the fullScreenEnabled from shared preferences during startup and if it is true then I get the fullScreen instance from the container and call the enterFullScreen(FullScreenMode.EMERSIVE_STICKY); from an async method.

I am using Redux pattern and this logic is in the Middleware.

Does this help?

Athanax commented 3 years ago

This issue has been solved in version 1.0.3. I've uploaded it now. Please read the changelog before using the package.