xamarin / XamarinCommunityToolkit

The Xamarin Community Toolkit is a collection of Animations, Behaviors, Converters, and Effects for mobile development with Xamarin.Forms. It simplifies and demonstrates common developer tasks building iOS, Android, and UWP apps with Xamarin.Forms.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Bug] CameraFragment.DisposeImageReader Null Reference Exception

pauldiston opened this issue · comments

Description

Upon calling the Navigation.PopModalAsync on a page that contains the CameraView a Null Reference Exception is raised from the CameraFragment.DisposeImageReader method.

Stack Trace

Xamarin Exception Stack:
System.NullReferenceException: Object reference not set to an instance of an object
at Xamarin.CommunityToolkit.UI.Views.CameraFragment.DisposeImageReader () [0x00013] in <0a68dce273b64a29949c8b1d7ab84eee>:0
at Xamarin.CommunityToolkit.UI.Views.CameraFragment.CloseDevice () [0x00051] in <0a68dce273b64a29949c8b1d7ab84eee>:0
at Xamarin.CommunityToolkit.UI.Views.CameraFragment.CloseDevice (Android.Hardware.Camera2.CameraDevice inputDevice) [0x00009] in <0a68dce273b64a29949c8b1d7ab84eee>:0
at Xamarin.CommunityToolkit.UI.Views.CameraFragment.b__63_3 (Android.Hardware.Camera2.CameraDevice device) [0x00013] in <0a68dce273b64a29949c8b1d7ab84eee>:0
at Xamarin.CommunityToolkit.UI.Views.CameraStateListener.OnClosed (Android.Hardware.Camera2.CameraDevice camera) [0x0000a] in <0a68dce273b64a29949c8b1d7ab84eee>:0
at Android.Hardware.Camera2.CameraDevice+StateCallback.n_OnClosed_Landroid_hardware_camera2_CameraDevice_ (System.IntPtr jnienv, System.IntPtr native__this, System.IntPtr native_camera) [0x0000f] in :0
at Android.Runtime.JNINativeWrapper.Wrap_JniMarshal_PPL_V (_JniMarshal_PPL_V callback, System.IntPtr jnienv, System.IntPtr klazz, System.IntPtr p0) [0x00005] in :0

Secondary Stack Trace

Xamarin.CommunityToolkit.UI.Views
CameraFragment.DisposeImageReader ()
Xamarin.CommunityToolkit.UI.Views
CameraFragment.CloseDevice ()
Xamarin.CommunityToolkit.UI.Views.CameraFragment.Android.Views.TextureView
ISurfaceTextureListener.OnSurfaceTextureDestroyed (Android.Graphics.SurfaceTexture surface)
Android.Views
TextureView+ISurfaceTextureListenerInvoker.n_OnSurfaceTextureDestroyed_Landroid_graphics_SurfaceTexture_ (System.IntPtr jnienv, System.IntPtr native__this, System.IntPtr native_surface)
Android.Runtime
JNINativeWrapper.Wrap_JniMarshal_PPL_Z (_JniMarshal_PPL_Z callback, System.IntPtr jnienv, System.IntPtr klazz, System.IntPtr p0)
Java.Interop
JniEnvironment+InstanceMethods.CallNonvirtualVoidMethod (Java.Interop.JniObjectReference instance, Java.Interop.JniObjectReference type, Java.Interop.JniMethodInfo method, Java.Interop.JniArgumentValue* args)
Java.Interop
JniPeerMembers+JniInstanceMethods.InvokeVirtualVoidMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters)
Android.Views
ViewGroup.RemoveView (Android.Views.View view)
Xamarin.Forms.Platform.Android
ViewExtensions.RemoveFromParent (Android.Views.View view)
Xamarin.Forms.Platform.Android.AppCompat.Platform.Xamarin.Forms
INavigation.PopModalAsync (System.Boolean animated)
Xamarin.Forms.Internals
NavigationProxy.OnPopModal (System.Boolean animated)
Xamarin.Forms
Application+NavigationImpl.<>n__0 (System.Boolean animated)
Xamarin.Forms
Application+NavigationImpl.OnPopModal (System.Boolean animated)
MyView
PhotoCaptureView.OKButton_OnClicked (System.Object sender, System.EventArgs e)

Steps to Reproduce

  1. Call Navigation.PushModalAsync with a page that contains the CameraView
  2. Take a photo
  3. Call the Navigation.PopModalAsync

Expected Behavior

No exception is raised

Actual Behavior

A Null Reference Exception is raised sometimes. This doesn't happen all the time.

Basic Information

  • Version with issue: 2.0.5
  • Last known good version: N/A
  • IDE: Visual Studio 2022
  • Platform Target Frameworks:
    • Android: 12
  • Affected Devices: Honeywell CT60

Workaround

No workaround found at this time.