In Development
Last Updated: 05 Jan 2022 08:51 by ADMIN
Brad
Created on: 15 Oct 2021 13:51
Category: DateTimePicker
Type: Bug Report
0
DateTimePicker: [Android] Prevent Dispose Exceptions when IsVisible is False

If you set the RadDateTimePicker's IsVisible value to false and there is navigation occurring, the internal logic tries to dispose the RadPopup and an exception is thrown on Android.

This feedback item is to ask that you attempt to add internal protections to avoid this from happening.

 

Here is the exception stacktrace in case it is useful:

JniPeerMembers.AssertSelf (Java.Interop.IJavaPeerable self)
JniPeerMembers+JniInstanceMethods.InvokeVirtualVoidMethod (System.String encodedMember, Java.Interop.IJavaPeerable self, Java.Interop.JniArgumentValue* parameters)
PopupWindow.set_ContentView (Android.Views.View value)
RadPopup.ClearAndroidContext ()
RadPopup.UpdatePopupContext ()
RadPopup.OnPlacementTargetRendererChanged ()
PopupBase.PlacementTarget_PropertyChanged (System.Object sender, System.ComponentModel.PropertyChangedEventArgs e)
PopupBase+<>c.<AttachWeakEventListenerForPlacementTargetPropertyChanged>b__99_0 (Telerik.XamarinForms.Primitives.PopupBase listener, System.Object sender, System.ComponentModel.PropertyChangedEventArgs eventArgs)
WeakEventListener`3[TListener,TEventSource,TEventArgs].OnEvent (System.Object sender, TEventArgs eventArgs)
(wrapper delegate-invoke) <Module>.invoke_void_object_PropertyChangedEventArgs(object,System.ComponentModel.PropertyChangedEventArgs)
BindableObject.OnPropertyChanged (System.String propertyName)
Element.OnPropertyChanged (System.String propertyName)
BindableObject.ClearValue (Xamarin.Forms.BindableProperty property, System.Boolean fromStyle, System.Boolean checkAccess)
BindableObject.ClearValue (Xamarin.Forms.BindableProperty property)
Platform+<>c__DisplayClass45_0.<Cleanup>g__DoCleanup|0 ()
Platform.Cleanup (System.Collections.Generic.List`1[T] viewsToRemove, System.Collections.Generic.List`1[T] renderersToDispose)
Platform.SetPage (Xamarin.Forms.Page newRoot)
Platform.Dispose ()
FormsAppCompatActivity.OnDestroy ()
Activity.n_OnDestroy (System.IntPtr jnienv, System.IntPtr native__this)
(wrapper dynamic-method) Android.Runtime.DynamicMethodNameCounter.8(intptr,intptr)

2 comments
ADMIN
Didi
Posted on: 25 Oct 2021 04:41

Hello Brad,

The item status was "Under Review" which means that the team is lookin at the item to determine if it is valid. I have changed the status to Unplanned, as it is a valid bug report. "Unplanned" status means -> Valid feature request or bug report, not scheduled for implementation yet. When hovering the item status a hover message is shown and it gives information about the status meaning. 

I hope this information answers your question.

Workaround provided in this forum thread: https://www.telerik.com/forums/system-objectdisposedexception-cannot-access-a-disposed-object-object-name-android-widget-popupwindow#5388513 

Regards,
Didi
Progress Telerik

Love the Telerik and Kendo UI products and believe more people should try them? Invite a fellow developer to become a Progress customer and each of you can get a $50 Amazon gift voucher.

Brad
Posted on: 22 Oct 2021 15:47
I'm not sure what the change from Pending Review to Unplanned means in all practicality.  Just wait and see if it makes it into a quarterly update cycle?