mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
UIManager: Delete removeSubviewsFromContainerWithID (#42066)
Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/42066 We should just delete this UIManagerModule api: - There are no usages of this api at Meta - The only usages found on GitHub are from old forks of React Native: [GitHub search](https://github.com/search?q=removeSubviewsFromContainerWithID+language%3AJavaScript&type=code&p=5) Changelog: [Android][Removed] - Delete UIManager.removeSubviewsFromContainerWithID Reviewed By: sammy-SC Differential Revision: D52345629 fbshipit-source-id: 74bb36600f218e5f882b338ff5d0bcf37d58c949
This commit is contained in:
committed by
Facebook GitHub Bot
parent
9670bde5ab
commit
f4e0061533
@@ -232,9 +232,6 @@ const UIManagerJS: UIManagerJSInterface & {[string]: any} = {
|
||||
): void => {
|
||||
raiseSoftError('configureNextLayoutAnimation');
|
||||
},
|
||||
removeSubviewsFromContainerWithID: (containerID: number): void => {
|
||||
raiseSoftError('removeSubviewsFromContainerWithID');
|
||||
},
|
||||
replaceExistingNonRootView: (
|
||||
reactTag: ?number,
|
||||
newReactTag: ?number,
|
||||
|
||||
@@ -86,7 +86,6 @@ export interface Spec extends TurboModule {
|
||||
callback: () => void, // check what is returned here
|
||||
errorCallback: (error: Object) => void,
|
||||
) => void;
|
||||
+removeSubviewsFromContainerWithID: (containerID: number) => void;
|
||||
+replaceExistingNonRootView: (
|
||||
reactTag: ?number,
|
||||
newReactTag: ?number,
|
||||
|
||||
@@ -41,7 +41,6 @@ module.exports = [
|
||||
'measureLayout',
|
||||
'measureLayoutRelativeToParent',
|
||||
'removeRootView',
|
||||
'removeSubviewsFromContainerWithID',
|
||||
'replaceExistingNonRootView',
|
||||
'sendAccessibilityEvent',
|
||||
'setChildren',
|
||||
|
||||
@@ -700,31 +700,6 @@ static NSDictionary *deviceOrientationEventBody(UIDeviceOrientation orientation)
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* A method to be called from JS, which takes a container ID and then releases
|
||||
* all subviews for that container upon receipt.
|
||||
*/
|
||||
RCT_EXPORT_METHOD(removeSubviewsFromContainerWithID : (nonnull NSNumber *)containerID)
|
||||
{
|
||||
RCTLogWarn(
|
||||
@"RCTUIManager.removeSubviewsFromContainerWithID method is deprecated and it will not be implemented in newer versions of RN (Fabric) - T47686450");
|
||||
id<RCTComponent> container = _shadowViewRegistry[containerID];
|
||||
RCTAssert(container != nil, @"container view (for ID %@) not found", containerID);
|
||||
|
||||
NSUInteger subviewsCount = [container reactSubviews].count;
|
||||
NSMutableArray<NSNumber *> *indices = [[NSMutableArray alloc] initWithCapacity:subviewsCount];
|
||||
for (NSUInteger childIndex = 0; childIndex < subviewsCount; childIndex++) {
|
||||
[indices addObject:@(childIndex)];
|
||||
}
|
||||
|
||||
[self manageChildren:containerID
|
||||
moveFromIndices:nil
|
||||
moveToIndices:nil
|
||||
addChildReactTags:nil
|
||||
addAtIndices:nil
|
||||
removeAtIndices:indices];
|
||||
}
|
||||
|
||||
/**
|
||||
* Disassociates children from container. Doesn't remove from registries.
|
||||
* TODO: use [NSArray getObjects:buffer] to reuse same fast buffer each time.
|
||||
|
||||
@@ -4861,7 +4861,6 @@ public class com/facebook/react/uimanager/UIImplementation {
|
||||
public fun removeRootShadowNode (I)V
|
||||
public fun removeRootView (I)V
|
||||
protected final fun removeShadowNode (Lcom/facebook/react/uimanager/ReactShadowNode;)V
|
||||
public fun removeSubviewsFromContainerWithID (I)V
|
||||
public fun replaceExistingNonRootView (II)V
|
||||
public fun resolveRootTagFromReactTag (I)I
|
||||
public final fun resolveShadowNode (I)Lcom/facebook/react/uimanager/ReactShadowNode;
|
||||
@@ -4949,7 +4948,6 @@ public class com/facebook/react/uimanager/UIManagerModule : com/facebook/react/b
|
||||
public fun receiveEvent (IILjava/lang/String;Lcom/facebook/react/bridge/WritableMap;)V
|
||||
public fun receiveEvent (ILjava/lang/String;Lcom/facebook/react/bridge/WritableMap;)V
|
||||
public fun removeRootView (I)V
|
||||
public fun removeSubviewsFromContainerWithID (I)V
|
||||
public fun removeUIManagerEventListener (Lcom/facebook/react/bridge/UIManagerListener;)V
|
||||
public fun removeUIManagerListener (Lcom/facebook/react/uimanager/UIManagerModuleListener;)V
|
||||
public fun replaceExistingNonRootView (II)V
|
||||
@@ -7739,4 +7737,3 @@ public class com/facebook/react/views/view/ViewGroupClickEvent : com/facebook/re
|
||||
protected fun getEventData ()Lcom/facebook/react/bridge/WritableMap;
|
||||
public fun getEventName ()Ljava/lang/String;
|
||||
}
|
||||
|
||||
|
||||
-21
@@ -480,27 +480,6 @@ public class UIImplementation {
|
||||
manageChildren(parent.getReactTag(), null, null, tagsToAdd, addAtIndices, indicesToRemove);
|
||||
}
|
||||
|
||||
/**
|
||||
* Method which takes a container tag and then releases all subviews for that container upon
|
||||
* receipt. TODO: The method name is incorrect and will be renamed, #6033872
|
||||
*
|
||||
* @param containerTag the tag of the container for which the subviews must be removed
|
||||
*/
|
||||
public void removeSubviewsFromContainerWithID(int containerTag) {
|
||||
ReactShadowNode containerNode = mShadowNodeRegistry.getNode(containerTag);
|
||||
if (containerNode == null) {
|
||||
throw new IllegalViewOperationException(
|
||||
"Trying to remove subviews of an unknown view tag: " + containerTag);
|
||||
}
|
||||
|
||||
WritableArray indicesToRemove = Arguments.createArray();
|
||||
for (int childIndex = 0; childIndex < containerNode.getChildCount(); childIndex++) {
|
||||
indicesToRemove.pushInt(childIndex);
|
||||
}
|
||||
|
||||
manageChildren(containerTag, null, null, null, null, indicesToRemove);
|
||||
}
|
||||
|
||||
/**
|
||||
* Find the touch target child native view in the supplied root view hierarchy, given a react
|
||||
* target location.
|
||||
|
||||
-13
@@ -499,19 +499,6 @@ public class UIManagerModule extends ReactContextBaseJavaModule
|
||||
mUIImplementation.replaceExistingNonRootView(oldTag, newTag);
|
||||
}
|
||||
|
||||
/**
|
||||
* Method which takes a container tag and then releases all subviews for that container upon
|
||||
* receipt.
|
||||
*
|
||||
* @param containerTag the tag of the container for which the subviews must be removed
|
||||
* @deprecated This method will not be available in Fabric UIManager class.
|
||||
*/
|
||||
@ReactMethod
|
||||
@Deprecated
|
||||
public void removeSubviewsFromContainerWithID(int containerTag) {
|
||||
mUIImplementation.removeSubviewsFromContainerWithID(containerTag);
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines the location on screen, width, and height of the given view and returns the values
|
||||
* via an async callback.
|
||||
|
||||
Vendored
-1
@@ -93,7 +93,6 @@ jest
|
||||
}),
|
||||
measure: jest.fn(),
|
||||
manageChildren: jest.fn(),
|
||||
removeSubviewsFromContainerWithID: jest.fn(),
|
||||
replaceExistingNonRootView: jest.fn(),
|
||||
setChildren: jest.fn(),
|
||||
updateView: jest.fn(),
|
||||
|
||||
Reference in New Issue
Block a user