Rangeslider in IOS listview item freeze

hi,
i'm using Forms 5 and your last main release.
i have a list with a range slider in each item.
on ios the app freeze when i move the slider ( in order to reproduce, push on the Knob and move several times left and right without release it ) 
can you help me?
on android is working fine.
Seems that it enter in an infinite loop with the bounded variable of value field
here the code 
                   
thanks


24 Replies 1 reply marked as answer

SP Sakthivel Palaniyappan Syncfusion Team February 16, 2021 06:33 PM UTC

Hi Luca,

Greetings from Syncfusion.

We have analyzed your query and checked the reported issue with iOS 14.2, but we could not reproduce the issue. We will check the reported issue in iOS 14.4 and provide the details on February 19, 2021.

Regards,
Sakthivel P.




LU Luca February 16, 2021 09:40 PM UTC

hi,
can you share the code?
did you put a slider in a listview?
tested also on sdk 13.3 and also here there is the issue.
So i don't think it is related to the sdk version.
thanks


SP Sakthivel Palaniyappan Syncfusion Team February 17, 2021 07:47 AM UTC

Hi Luca,

Thanks for the update.

Yes, we have checked the reported issue with SfListView and Xamarin ListView control. Please find the sample from below.

Sample:
https://www.syncfusion.com/downloads/support/directtrac/general/ze/RangeSliderFreeze-1473083151.zip

Pease check the issue with the attached sample and let us know whether it is reproduced or not? If the issue was not reproduced in this sample, please revert us by modifying the sample based on your application along with replication procedure or provide the sample. This will be helpful for us to investigate further and provide you a better solution at the earliest.

Regards,
Sakthivel P.



LU Luca February 17, 2021 04:30 PM UTC

guys, I specified in my post that the issue is related to binding Value="{Binding Val,Mode=TwoWay}" and this is missing in your example.
I'm using a standard xamarin listview, not yours
can you please try with this? i mean adding 
- in xaml  Value="{Binding Val,Mode=TwoWay}"
- use standard listview not SFlistview
- in Employee class 

private int val;
        public int Val
        {
            get { return val; }
            set
            {
                val = value;
                OnPropertyChanged();
            }
        }
thanks

if i scroll the listview i get

{System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'BalloonLayer'.
  at Foundation.NSObject.get_SuperHandle () [0x0004a] in /Users/builder/azdo/_work/1/s/xamarin-macios/src/Foundation/NSObject2.cs:401 
  at CoreAnimation.CALayer.set_Hidden (System.Boolean value) [0x0001f] in /Users/builder/azdo/_work/1/s/xamarin-macios/src/build/ios/native/CoreAnimation/CALayer.g.cs:1572 
  at Syncfusion.SfRangeSlider.iOS.SfRangeSlider.initializeFrames () [0x00346] in <3d7adc25171f4d80b37d55fcbe150682>:0 
  at Syncfusion.SfRangeSlider.iOS.SfRangeSlider.LayoutSubviews () [0x00006] in <3d7adc25171f4d80b37d55fcbe150682>:0 
  at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain(int,string[],intptr,intptr)
  at UIKit.UIApplication.Main (System.String[] args, System.IntPtr principal, System.IntPtr delegate) [0x00005] in /Users/builder/azdo/_work/1/s/xamarin-macios/src/UIKit/UIApplication.cs:86 
  at UIKit.UIApplication.Main (System.String[] args, System.String principalClassName, System.String delegateClassName) [0x0000e] in /Users/builder/azdo/_work/1/s/xamarin-macios/src/UIKit/UIApplication.cs:65 
  at RangeSliderFreeze.iOS.Application.Main (System.String[] args) [0x00001] in D:\Downloads\RangeSliderFreeze-1473083151\RangeSliderFreeze\RangeSliderFreeze.iOS\Main.cs:17 }



i found a woraround for this exception: i added a Frame as a root element of the viewcell.. in order to fix i'm doing stupid workaround..... but the mean issue of this topic is still there


LU Luca February 18, 2021 08:58 AM UTC

hi!
finally i understood when i have the issue.
we have 2 issues:
1 - related to previous post where i can fix just adding a frame (low priority since i found a workaround)
2- this is the main issue: i have a listview and in each item i have a button and a slider. Based on bounded item property just one of the is enable. Checked property of the button and Value property of the slider are both bounded to the same object property and here is the problem. Even if one control is disable  seems that is still enable because i have a Command in it that override the isenabled property. The issue is present just on IOS and here you can find a possible solution that is not working with SFbutton but seems working with standard button:
- https://forums.xamarin.com/discussion/47857/setting-buttons-isenabled-to-false-does-not-disable-button
- https://xamarin.github.io/bugzilla-archives/32/32899/bug.html
- https://www.damirscorner.com/blog/posts/20201127-DisableAButtonWithCommandInXamarinForms.html

at the end the solution proposed is to put IsEnabled after Command but in SF button is not working.
can you help me please?
ii add a sample code. (please add, i forgot.....
Syncfusion.XForms.iOS.Border.SfBorderRenderer.Init();
Syncfusion.XForms.iOS.Buttons.SfButtonRenderer.Init();
)
thanks

Attachment: RangeSliderFreeze1473083151_79912314.zip


LU Luca February 18, 2021 09:52 AM UTC

i added a better test code
here you can see that even if the button isEnabled is bounded to a false property it is still enable and freeze the app
Attachment: RangeSliderFreeze1473083151_b79f5ad2.zip


SP Sakthivel Palaniyappan Syncfusion Team February 18, 2021 09:56 AM UTC

Hi Luca,

Thanks for the update.

Query 1 : ObjectDisposedException

We have checked the issue and we could able to reproduce the issue. We will fix and include the fix in our upcoming weekly NuGet release.

Query 2: SfButton

We have handled the IsEnabled property of SfButton based on the return value of CanExecute provided from Command property as per the Xamarin.forms architecture. Hence, the binding value of IsEnabled is not set while using Command, due to the binding breaks.

Please refer the below KB to disable the button with command.
https://www.syncfusion.com/kb/11036/how-to-disable-xamarin-forms-button

Please check and let us know your concern.

Regards,
Sakthivel P.



LU Luca February 18, 2021 06:46 PM UTC

thanks a lot!
the problem is that i have a listview, the command is in the viewModel and the canExecute is based on each item property.
i found a way but even if the button as a canExecute return false, the IsChecked="{Binding Val}" is still working even if IsCheckable="False" (due to the converter that creates an infinite loop but just on IOS not android.. why?!!?)
i'm able to run the app just when i add bind a second property to slider pointing at the same private property.
attached a sample code.. maybe you can help me to find a better solution thanks

Attachment: RangeSliderFreeze1473083151_89f55ea4.zip


RS Ruba Shanmugam Syncfusion Team February 19, 2021 02:42 PM UTC

Hi Luca,

Currently we are working on this with high priority we will let you know the complete on or before February 22, 2021. We appreciate your patience until then.

Regards,
Ruba Shanmugam



LU Luca February 20, 2021 06:06 PM UTC

thanks a lot!


SP Sakthivel Palaniyappan Syncfusion Team February 22, 2021 12:14 PM UTC

Hi Luca,

Thanks for the patience.

We have validated the provided sample and we were unable to get what the exact issue is at your end, and we checked on both android and iOS works similar not face any issue with button behaviors.

Could you please share the issue replication steps or video about the issue, it will help us to provide better solution at the earliest.

Regards,
Sakthivel P.
 



LU Luca February 22, 2021 06:42 PM UTC

hi,
the provided example is working since i put a workaround (as i explained in my prev post: i'm able to run the app just when i add bind a second property to slider pointing at the same private property.)
I'm adding the same code without the fix.... on IOS is not working.
ho to reproduce:
run the app, move left and right the slicer multiple times and you can see that the app will freeze just because will start an infinte loop due to the binding (2 controlls bunded to the same property with a converter) just on IOS.
let me know if you need anything else.

Attachment: example_4f50916c.zip


SP Sakthivel Palaniyappan Syncfusion Team February 23, 2021 11:13 AM UTC

Hi Luca,

Thanks for the update.

We have checked the provided sample and tried to replicate the issue based on your replication steps in iOS 14.2 and 13.4 emulator but we could not able to reproduce the issue. We recorded a video that shows at our end, please find the video from below.

Video:
https://www.syncfusion.com/downloads/support/directtrac/general/ze/RotatorFreezeVideo.mov279517497.zip

Could you please record video about the issue and share us a video , it will help us to find the issue and provide better solution at the earliest.

Regards,
Sakthivel P.
 



LU Luca February 23, 2021 01:50 PM UTC

hi, 
try in a real device not emulator. are you using my last example?
thanks


SP Sakthivel Palaniyappan Syncfusion Team February 25, 2021 02:47 AM UTC

Hi Luca, 
 
Thanks for the update. 
 
We will check the reported issue in real devices and update the details on February 26, 2021. We appreciate your patience until then. 
 
Regards, 
Sakthivel P. 


SP Sakthivel Palaniyappan Syncfusion Team February 26, 2021 12:54 PM UTC

Hi Luca,

Thanks for the patience.

We have checked the reported issue and we could able to reproduce the reported issue of “App freezes when move the slider”. We are currently checking the reported issue in sample level and we will update the details on March 2, 2021. We appreciate your patience until then.

Regards,
Sakthivel P.



SP Sakthivel Palaniyappan Syncfusion Team March 2, 2021 07:07 PM UTC

Hi Luca,

Thanks for the patience.

Query 1 : ObjectDisposedException
We will fix the issue and include the fix in our upcoming weekly NuGet release, which is available on March 16, 2021.

Query 2: Rangeslider in IOS listview item freeze
We have checked the reported issue and on further analyses when we set CachingStrategy as RetainElement only issue reproduced. We have prepared workaround to resolve the issue without using the converter. Please find the sample from below.

Sample:
https://www.syncfusion.com/downloads/support/directtrac/general/ze/RangeSliderFreeze_(1)1721252282.zip

Kindly let us know whether sample fulfils your requirement and let us know if you require any further assistance.

Regards,
Sakthivel P.

 



LU Luca March 3, 2021 10:52 AM UTC

hi, thanks for you answer.
1) thanks
2) i'm going to check but i thing we should fix without workaround. i mean, on android is working so i expect to see the same behaviour also in IOS without doing workaround. What do you think?

again thanks for you help, i'm going to test your workaround


RS Ruba Shanmugam Syncfusion Team March 4, 2021 12:22 PM UTC

Hi Luca,

Thank you for using Syncfusion product.

We could able to reproduce the reported issue "[iOS]Application get freeze when changing slider value” and we confirm this as a bug and logged a defect report. You can keep track of the bug from the feedback portal below.

Link: https://www.syncfusion.com/feedback/23001/iosapplication-get-freeze-when-changing-slider-value

The provided feedback link is private, and you need to login to view this feedback.

The fix for the reported issue will be available on March 18, 2021.

If you have any more specification/precise replication procedure or a scenario to be tested, you can add it as a comment in the portal.

Regards,
Ruba Shanmugam


SS Suganya Sethuraman Syncfusion Team March 17, 2021 11:59 AM UTC

Hi Luca,

Thanks for the patience.

Query 1: ObjectDisposedException

We have fixed the reported. Please find the assembly from link below.

Assembly Version: 18.4.0.47

Disclaimer: Please note that we have created this patch for the version v18.4.0.47 specifically to resolve the issue reported in this incident.

Assembly: https://www.syncfusion.com/downloads/support/directtrac/general/ze/RangeSlider-705132033.zip

Note: Please refer the below link to apply the custom assembly

https://www.syncfusion.com/kb/8279/how-to-apply-the-custom-assemblies-when-configured-the-project-with-syncfusion-nuget

Currently we have patch support only to the main and service pack release version, not for weekly NuGet release. So only provided an assembly with 18.4.0.47 version.

This fix will be included in our upcoming weekly release which is expected to rolled out on March 30, 2021.

Regards,
Suganya Sethuraman.
 
 
 




RS Ruba Shanmugam Syncfusion Team March 18, 2021 01:42 PM UTC

Hi Luca, 
 
Thanks for your patience. 
 
We have fixed the reported issue "[iOS]Application get freeze when changing slider value”. Please find the assembly from link below. 
 
Assembly Version: 18.4.0.47 
 
Disclaimer: Please note that we have created this patch for the version v18.4.0.47 specifically to resolve the issue reported in this incident. 
 
 
Note: Please refer the below link to apply the custom assembly 
 
 
Currently we have patch support only to the main and service pack release version, not for weekly NuGet release. So only provided an assembly with 18.4.0.47 version. 
 
This fix will be included in our upcoming weekly release which is expected to rolled out on March 30, 2021. 
 
Regards, 
Ruba Shanmugam 


Marked as answer

RS Ruba Shanmugam Syncfusion Team March 30, 2021 12:22 PM UTC

Hi Luca, 
Thanks for the your patience. We have fixed and moved this fix in our last weekly release v18.4.0.49. Please let us know, if you have any concerns. 
Regards, 
Ruba Shanmugam 



LU Luca April 5, 2021 09:37 AM UTC

hi, i'm going to test!!! thanks a lot!!!!!!


RS Ruba Shanmugam Syncfusion Team April 6, 2021 10:25 AM UTC

Hi Luca, 
 
Thanks for the update. We will wait until hear from you. 
 
Regards, 
Ruba Shanmugam 


Loader.
Up arrow icon