From 1f6acc11abec91972e6e04abd55e09b2a9dc1433 Mon Sep 17 00:00:00 2001 From: Hailey Date: Fri, 6 Dec 2024 09:52:08 -0800 Subject: clean rn 0.76 upgrade (#6887) * package upgrades * upgrade system ui * update patches * rename patch * rm * use .set/.set * resolve yarnlock * fix accidentally removed package * fix use permissions hook * fix some type errors * type fixes * more tweaking * clean * Discard changes to src/screens/Onboarding/StepProfile/index.tsx * oops * fix splash * use ios/android in config * Fix tests * add back patch * add to rn patch * fullscreen? * Revert "add to rn patch" This reverts commit 4716d2c643a29fc77b871ca8555d8d78cb4ac427. * try this * test with revert * test * maybe this * fix config * Bump @react-native-picker/picker * Bump some packages * Rm unused * Update lockfile * Rename expo-notifications+0.29.8.patch.md to expo-notifications+0.29.10.patch.md * Update react-native+0.76.3.patch.md * Update react-native+0.76.3.patch.md * Inline splash configs Jumping around the file is annoying and makes it harder to understand how this is structured. * Start fixing Android splash * Downgrade compressor This version isn't building for me due to https://github.com/numandev1/react-native-compressor/issues/322. * Make Android splash empty for now * Work around a bug * Bump the compressor * Bump again * Include splash fixes * Try updating * No custom Android splash * Revert to using icons * welp * Fix sizes * Make sizing work * Bump size --------- Co-authored-by: Dan Abramov --- patches/react-native-svg+15.9.0.patch | 57 +++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 patches/react-native-svg+15.9.0.patch (limited to 'patches/react-native-svg+15.9.0.patch') diff --git a/patches/react-native-svg+15.9.0.patch b/patches/react-native-svg+15.9.0.patch new file mode 100644 index 000000000..54540023f --- /dev/null +++ b/patches/react-native-svg+15.9.0.patch @@ -0,0 +1,57 @@ +diff --git a/node_modules/react-native-svg/android/src/main/java/com/horcrux/svg/PathView.java b/node_modules/react-native-svg/android/src/main/java/com/horcrux/svg/PathView.java +index 06829bd..1b15818 100644 +--- a/node_modules/react-native-svg/android/src/main/java/com/horcrux/svg/PathView.java ++++ b/node_modules/react-native-svg/android/src/main/java/com/horcrux/svg/PathView.java +@@ -14,17 +14,33 @@ import android.graphics.Paint; + import android.graphics.Path; + import com.facebook.react.bridge.ReactContext; + ++import java.util.ArrayList; ++import java.util.HashMap; ++ ++class ParsedPath { ++ final Path path; ++ final ArrayList elements; ++ ++ ParsedPath(Path path, ArrayList elements) { ++ this.path = path; ++ this.elements = elements; ++ } ++} ++ + @SuppressLint("ViewConstructor") + class PathView extends RenderableView { + private Path mPath; + ++ // This grows forever but for our use case (static icons) it's ok. ++ private static final HashMap sPathCache = new HashMap<>(); ++ + public PathView(ReactContext reactContext) { + super(reactContext); + PathParser.mScale = mScale; + mPath = new Path(); + } + +- public void setD(String d) { ++ void setDByParsing(String d) { + mPath = PathParser.parse(d); + elements = PathParser.elements; + for (PathElement elem : elements) { +@@ -33,6 +49,17 @@ class PathView extends RenderableView { + point.y *= mScale; + } + } ++ } ++ ++ public void setD(String d) { ++ ParsedPath cached = sPathCache.get(d); ++ if (cached != null) { ++ mPath = cached.path; ++ elements = cached.elements; ++ } else { ++ setDByParsing(d); ++ sPathCache.put(d, new ParsedPath(mPath, elements)); ++ } + invalidate(); + } + -- cgit 1.4.1