From 8ad0613f86218364e9097ccc8a003d0afcb012e3 Mon Sep 17 00:00:00 2001 From: Graham Mendick Date: Tue, 12 Dec 2023 14:12:25 +0000 Subject: [PATCH 1/2] Remove deprecated fabric view state manager Copied state wrapper over from bottom sheet dialog --- .../reactnative/BottomSheetDialogView.java | 2 +- .../navigation/reactnative/TitleBarView.java | 35 ++++++++----------- .../reactnative/TitleBarViewManager.java | 2 +- 3 files changed, 17 insertions(+), 22 deletions(-) diff --git a/NavigationReactNative/src/android/src/main/java/com/navigation/reactnative/BottomSheetDialogView.java b/NavigationReactNative/src/android/src/main/java/com/navigation/reactnative/BottomSheetDialogView.java index e8643ee10a..058a8d3560 100644 --- a/NavigationReactNative/src/android/src/main/java/com/navigation/reactnative/BottomSheetDialogView.java +++ b/NavigationReactNative/src/android/src/main/java/com/navigation/reactnative/BottomSheetDialogView.java @@ -86,7 +86,7 @@ public StateWrapper getStateWrapper() { public void setStateWrapper(StateWrapper stateWrapper) { sheetView.setStateWrapper(stateWrapper); - }; + } public void updateState(final int width, final int height) { sheetView.updateState(width, height); diff --git a/NavigationReactNative/src/android/src/main/java/com/navigation/reactnative/TitleBarView.java b/NavigationReactNative/src/android/src/main/java/com/navigation/reactnative/TitleBarView.java index 9ee5e305c6..fc750475ee 100644 --- a/NavigationReactNative/src/android/src/main/java/com/navigation/reactnative/TitleBarView.java +++ b/NavigationReactNative/src/android/src/main/java/com/navigation/reactnative/TitleBarView.java @@ -10,13 +10,13 @@ import com.facebook.react.bridge.ReadableMap; import com.facebook.react.bridge.WritableMap; import com.facebook.react.bridge.WritableNativeMap; -import com.facebook.react.uimanager.FabricViewStateManager; import com.facebook.react.uimanager.PixelUtil; +import com.facebook.react.uimanager.StateWrapper; import com.facebook.react.uimanager.UIManagerModule; -public class TitleBarView extends ViewGroup implements FabricViewStateManager.HasFabricViewStateManager { +public class TitleBarView extends ViewGroup { private boolean layoutRequested = false; - private final FabricViewStateManager fabricViewStateManager = new FabricViewStateManager(); + private StateWrapper stateWrapper = null; public TitleBarView(Context context) { super(context); @@ -26,10 +26,14 @@ public TitleBarView(Context context) { protected void onLayout(boolean changed, int l, int t, int r, int b) { } + public void setStateWrapper(StateWrapper stateWrapper) { + this.stateWrapper = stateWrapper; + } + @Override protected void onSizeChanged(final int w, final int h, int oldw, int oldh) { super.onSizeChanged(w, h, oldw, oldh); - if (fabricViewStateManager.hasStateWrapper()) { + if (stateWrapper != null) { updateState(w, h); } else { final int viewTag = getId(); @@ -50,7 +54,7 @@ public void runGuarded() { public void updateState(final int width, final int height) { final float realWidth = PixelUtil.toDIPFromPixel(width); final float realHeight = PixelUtil.toDIPFromPixel(height); - ReadableMap currentState = getFabricViewStateManager().getStateData(); + ReadableMap currentState = stateWrapper.getStateData(); if (currentState != null) { float delta = (float) 0.9; float stateScreenHeight = @@ -65,16 +69,12 @@ public void updateState(final int width, final int height) { return; } } - fabricViewStateManager.setState( - new FabricViewStateManager.StateUpdateCallback() { - @Override - public WritableMap getStateUpdate() { - WritableMap map = new WritableNativeMap(); - map.putDouble("frameWidth", realWidth); - map.putDouble("frameHeight", realHeight); - return map; - } - }); + if (stateWrapper != null) { + WritableMap map = new WritableNativeMap(); + map.putDouble("frameWidth", realWidth); + map.putDouble("frameHeight", realHeight); + stateWrapper.updateState(map); + } } @Override @@ -96,9 +96,4 @@ public void run() { layout(getLeft(), getTop(), getRight(), getBottom()); } }; - - @Override - public FabricViewStateManager getFabricViewStateManager() { - return fabricViewStateManager; - } } diff --git a/NavigationReactNative/src/android/src/main/java/com/navigation/reactnative/TitleBarViewManager.java b/NavigationReactNative/src/android/src/main/java/com/navigation/reactnative/TitleBarViewManager.java index c3ecff0b07..569e3260b1 100644 --- a/NavigationReactNative/src/android/src/main/java/com/navigation/reactnative/TitleBarViewManager.java +++ b/NavigationReactNative/src/android/src/main/java/com/navigation/reactnative/TitleBarViewManager.java @@ -43,7 +43,7 @@ protected TitleBarView createViewInstance(@Nonnull ThemedReactContext reactConte @Override public Object updateState( TitleBarView view, ReactStylesDiffMap props, StateWrapper stateWrapper) { - view.getFabricViewStateManager().setStateWrapper(stateWrapper); + view.setStateWrapper(stateWrapper); return null; } } From 5b852172cfbfd79543c13e658d30d2fae6d11346 Mon Sep 17 00:00:00 2001 From: Graham Mendick Date: Tue, 12 Dec 2023 14:17:35 +0000 Subject: [PATCH 2/2] Remove deprecated fabric view state manager --- .../navigation/reactnative/ActionBarView.java | 35 ++++++++----------- .../reactnative/ActionBarViewManager.java | 2 +- 2 files changed, 16 insertions(+), 21 deletions(-) diff --git a/NavigationReactNative/src/android/src/main/java/com/navigation/reactnative/ActionBarView.java b/NavigationReactNative/src/android/src/main/java/com/navigation/reactnative/ActionBarView.java index 41842c5e40..c3dad741a9 100644 --- a/NavigationReactNative/src/android/src/main/java/com/navigation/reactnative/ActionBarView.java +++ b/NavigationReactNative/src/android/src/main/java/com/navigation/reactnative/ActionBarView.java @@ -11,17 +11,17 @@ import com.facebook.react.bridge.ReadableMap; import com.facebook.react.bridge.WritableMap; import com.facebook.react.bridge.WritableNativeMap; -import com.facebook.react.uimanager.FabricViewStateManager; import com.facebook.react.uimanager.PixelUtil; +import com.facebook.react.uimanager.StateWrapper; import com.facebook.react.uimanager.UIManagerHelper; import com.facebook.react.uimanager.UIManagerModule; import com.facebook.react.uimanager.events.Event; import com.facebook.react.uimanager.events.EventDispatcher; import com.facebook.react.uimanager.events.RCTEventEmitter; -public class ActionBarView extends ViewGroup implements FabricViewStateManager.HasFabricViewStateManager { +public class ActionBarView extends ViewGroup { private boolean layoutRequested = false; - private final FabricViewStateManager fabricViewStateManager = new FabricViewStateManager(); + private StateWrapper stateWrapper = null; public ActionBarView(Context context) { super(context); @@ -43,9 +43,13 @@ void collapsed() { eventDispatcher.dispatchEvent(new ActionBarView.CollapsedEvent(getId())); } + public void setStateWrapper(StateWrapper stateWrapper) { + this.stateWrapper = stateWrapper; + } + void changeBounds(final int width, final int height, int oldw, int oldh) { super.onSizeChanged(width, height, oldw, oldh); - if (fabricViewStateManager.hasStateWrapper()) { + if (stateWrapper != null) { updateState(width, height); } else { final int viewTag = getId(); @@ -67,7 +71,7 @@ public void runGuarded() { public void updateState(final int width, final int height) { final float realWidth = PixelUtil.toDIPFromPixel(width); final float realHeight = PixelUtil.toDIPFromPixel(height); - ReadableMap currentState = getFabricViewStateManager().getStateData(); + ReadableMap currentState = stateWrapper.getStateData(); if (currentState != null) { float delta = (float) 0.9; float stateScreenHeight = @@ -82,16 +86,12 @@ public void updateState(final int width, final int height) { return; } } - fabricViewStateManager.setState( - new FabricViewStateManager.StateUpdateCallback() { - @Override - public WritableMap getStateUpdate() { - WritableMap map = new WritableNativeMap(); - map.putDouble("frameWidth", realWidth); - map.putDouble("frameHeight", realHeight); - return map; - } - }); + if (stateWrapper != null) { + WritableMap map = new WritableNativeMap(); + map.putDouble("frameWidth", realWidth); + map.putDouble("frameHeight", realHeight); + stateWrapper.updateState(map); + } } @Override @@ -114,11 +114,6 @@ public void run() { } }; - @Override - public FabricViewStateManager getFabricViewStateManager() { - return fabricViewStateManager; - } - static class ExpandedEvent extends Event { public ExpandedEvent(int viewId) { super(viewId); diff --git a/NavigationReactNative/src/android/src/main/java/com/navigation/reactnative/ActionBarViewManager.java b/NavigationReactNative/src/android/src/main/java/com/navigation/reactnative/ActionBarViewManager.java index 24c9de58cf..bfd04fc86c 100644 --- a/NavigationReactNative/src/android/src/main/java/com/navigation/reactnative/ActionBarViewManager.java +++ b/NavigationReactNative/src/android/src/main/java/com/navigation/reactnative/ActionBarViewManager.java @@ -50,7 +50,7 @@ public Map getExportedCustomDirectEventTypeConstants() { @Override public Object updateState( ActionBarView view, ReactStylesDiffMap props, StateWrapper stateWrapper) { - view.getFabricViewStateManager().setStateWrapper(stateWrapper); + view.setStateWrapper(stateWrapper); return null; } }