maui icon indicating copy to clipboard operation
maui copied to clipboard

Pending code to port from Renderers to Handlers

Open jsuarezruiz opened this issue 3 years ago • 8 comments

Description

List of changes not directly related to properties(do not appear in the Wiki) pending from Renderers in Handlers. Mostly is code related to native control customization, events, VisualStateManager, etc.

Common

  • What will happen with Platform Specific code?. There is nothing implemented in Handlers related with Platform Specific code.
  • Require to allow to register Effects in Handlers?

ActivityIndicator

  • Nothing pending.

Button

Android

Windows

  • [ ] Pending code related with VisualStates (WireUpFormsVsm).
  • [ ] Override in the control the PreventGestureBubbling property (true).

CheckBox

Android

DatePicker

Android

iOS

  • [x] Pending code to focus and unfocus.

Windows

  • [ ] Pending code related with VisualStates (WireUpFormsVsm).

Editor

Android

iOS

  • [x] Pending code to focus and unfocus.
  • [x] Detect Frame changes to invoke ScrollRangeToVisible.

Windows

  • [ ] Pending code related with VisualStates (UseFormsVsm).

Entry

Android

iOS

  • [ ] Override GetDesiredSize method.

Windows

  • [x] Pending code to focus and unfocus.

Image

  • [ ] Pending code related with cache.

ImageButton

Android

iOS

  • [ ] Set MinimumButtonHeight (44).

Windows

IndicatorView

Android

  • [ ] SetGravity to Center.

Label

Android

iOS

  • [ ] Pending code related with GetDesiredSize method.

Windows

  • [ ] Pending code related with GetDesiredSize method.
  • [ ] Recalculate Spans size and position in native view ArrangeOverride method.

Picker

Android

  • [ ] Implement AccessibilityDelegate and it using the SetAccessibilityDelegate method.
  • [ ] Pending code related with focus and unfocus in the OnFocusChanged method.

iOS

  • [x] Pending code to focus and unfocus.

Windows

  • [ ] Detect when picker opens and closes to start refresh animation (StartAnimationRefresh method).
  • [ ] Pending code related with VisualStates (WireUpFormsVsm).

ProgressBar

  • Nothing pending.

RadioButton

Android

Windows

  • [ ] Pending code related with VisualStates (WireUpFormsVsm).
  • [ ] Override in the control the PreventGestureBubbling property (true).
  • [x] Subscribe to Checked and Unchecked methods to update the IsChecked property value.

RefreshView

Android

  • [ ] Implement IOnRefreshListener interface

ScrollView

Android

iOS

Windows

  • [ ] Set default HorizontalScrollBarVisibility and VerticalScrollBarVisibility properties creating the NativeView.
  • [ ] Custom code to set the Content margin when the Margin property changes.

SearchBar

Android

iOS

Windows

  • [x] Update CancelButton color with the ReadyChanged event.
  • [ ] Set the queryTextBox UseFormsVsm (now should be UseMauiVsm).

Slider

Windows

  • [ ] Pending code to set the NativeView VerticalAlignment.
  • [ ] Override in the control the PreventGestureBubbling property (true).

Stepper

  • Nothing pending.

Switch

Android

  • [ ] SetContentDescription(false).

TimePicker

Android

iOS

  • [x] Pending code to focus and unfocus.

Windows

  • [ ] Pending code related with VisualStates (WireUpFormsVsm).

WebView

Android

iOS

Windows

  • [ ] Set up an internal WebView we can use to load and parse the original HTML string.

Steps to Reproduce

NOTE: Use the .NET MAUI Core Gallery to validate the different points.

Version with bug

Preview 13 (current)

Last version that worked well

Unknown/Other

Affected platforms

I was not able test on other platforms

Affected platform versions

Windows 10 1909, Android 11, etc

Did you find any workaround?

No response

Relevant log output

No response

jsuarezruiz avatar Feb 21 '22 09:02 jsuarezruiz

All of the Android/OnTouchEvent/InputTransparent stuff can't be ported as-is (since we don't subclass all of the Android controls now). We can make it work using the wrapper - see https://github.com/dotnet/maui/tree/inputtransparent. I'll be (hopefully) submitting a PR for this today or tomorrow.

hartez avatar Feb 22 '22 17:02 hartez

All of the Android/OnTouchEvent/InputTransparent stuff can't be ported as-is (since we don't subclass all of the Android controls now). We can make it work using the wrapper - see https://github.com/dotnet/maui/tree/inputtransparent. I'll be (hopefully) submitting a PR for this today or tomorrow.

Awesome. Could you update this issue updating the done tasks?

jsuarezruiz avatar Feb 24 '22 11:02 jsuarezruiz

@jsuarezruiz I would validate the correctness of any code that was part of Forms that was hiding/showing the keyboard.

We shouldn't have to manage any keyboard visibility ourselves, that should all just work by nature of the platform.

Forms by default set a few properties that really messed with interactions

https://github.com/xamarin/Xamarin.Forms/blob/5209ec5a4e21bf3e468eecc334ce374420f547f7/Xamarin.Forms.Platform.Android/PlatformRenderer.cs#L22-L23

https://github.com/xamarin/Xamarin.Forms/blob/5209ec5a4e21bf3e468eecc334ce374420f547f7/Xamarin.Forms.Platform.Android/Renderers/PageRenderer.cs#L84

I'm guessing that keyboard code was all just compensating for properties that shouldn't have been set in the first place

PureWeen avatar Mar 02 '22 02:03 PureWeen

Thank you so much for your bug report! Unfortunately, we cannot reproduce your issue with the information above, could you provide a sample project and screenshots or more details that we can reproduce your issue? That should greatly speed up the process, thanks!

v-longmin avatar Mar 09 '22 03:03 v-longmin

Hi @jsuarezruiz. We have added the "s/needs-info" label to this issue, which indicates that we have an open question for you before we can take further action. This issue will be closed automatically in 7 days if we do not hear back from you by then - please feel free to re-open it if you come back to this issue after that time.

ghost avatar Mar 09 '22 03:03 ghost

We've moved this issue to the Backlog milestone. This means that it is not going to be worked on for the coming release. We will reassess the backlog following the current release and consider this item at that time. To learn more about our issue management process and to have better expectation regarding different types of issues you can read our Triage Process.

ghost avatar Aug 30 '22 15:08 ghost

Hi @jsuarezruiz. We have added the "s/needs-info" label to this issue, which indicates that we have an open question for you before we can take further action. This issue will be closed automatically in 7 days if we do not hear back from you by then - please feel free to re-open it if you come back to this issue after that time.

ghost avatar May 09 '23 07:05 ghost

Thank you so much for your bug report! Unfortunately, we cannot reproduce your issue with the information above, could you provide a sample project and screenshots or details repro steps that we can reproduce your issue? That should greatly speed up the process, thanks!

jinxinjuan avatar May 09 '23 07:05 jinxinjuan