Add UIBlock Interface#1050
Conversation
| /// Executes the block. | ||
| /// </summary> | ||
| /// <param name="nativeViewHierarchyManager"></param> | ||
| void Execute(NativeViewHierarchyManager nativeViewHierarchyManager); |
There was a problem hiding this comment.
@rozele Not sure what you mean here. Do you want this method to have a default body or something?
| } | ||
| } | ||
| } | ||
| } No newline at end of file |
There was a problem hiding this comment.
I think in general we've been leaving newlines at the end of files, but I'm sure that's not actually consistent.
| } | ||
|
|
||
| private IViewManager ResolveViewManager(int tag) | ||
| public IViewManager ResolveViewManager(int tag) |
There was a problem hiding this comment.
public [](start = 8, length = 6)
Hmm, I wonder if we should go one step further on Android and create a simple interface that exposes only the methods that we want exposed (e.g., ResolveView and ResolveViewManager). Thoughts @matthargett? #Closed
There was a problem hiding this comment.
maybe. I'd need to look at the consumption of the methods being exposed, but it's not jumping out at me in this diff. Also, since its only two methods and they take a POD and return a pure interface, there isn't a coupling problem -- just an ISP problem. #Closed
There was a problem hiding this comment.
While I think that makes sense from a design standpoint I think there is probably more value to having a more similar interfaces between iOS, Android, and Windows as it makes adding Windows support to existing extensions easier. #Closed
| /// view logic after all currently queued view updates have completed. | ||
| /// </summary> | ||
| /// <param name="block"></param> | ||
| public void AddUIBlock(IUIBlock block) |
| /// view logic after all currently queued view updates have completed. | ||
| /// </summary> | ||
| /// <param name="block"></param> | ||
| public void AddUIBlock(IUIBlock block) |
|
|
||
| private DependencyObject ResolveView(int tag) | ||
| public DependencyObject ResolveView(int tag) | ||
| { |
There was a problem hiding this comment.
Missing comments on public classes produce warnings.
|
|
||
| private IViewManager ResolveViewManager(int tag) | ||
| public IViewManager ResolveViewManager(int tag) | ||
| { |
There was a problem hiding this comment.
Missing comments on public classes produce warnings.
| /// <summary> | ||
| /// Enqueues a operation to execute a UIBlock. | ||
| /// </summary> | ||
| /// <param name="block"></param> |
|
🕐 |
| /// <summary> | ||
| /// Enqueues UIBlock to be executed. | ||
| /// </summary> | ||
| /// <param name="block"></param> |
|
@rozele Updated the comments. |
|
Closing and reopening to trigger CLA bot |
|
@ryanlntn, |
Provides a hook for third party libraries to interact with the NativeViewHierarchyManager.
Android equivalent here: https://github.com/facebook/react-native/blob/9ee815f6b52e0c2417c04e5a05e1e31df26daed2/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIBlock.java
Exposes ResolveView and ResolveViewManager as public methods.