1f6acc11ab
* 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 4716d2c643.
* 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 <dan.abramov@gmail.com>
58 lines
1.7 KiB
Diff
58 lines
1.7 KiB
Diff
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<PathElement> elements;
|
|
+
|
|
+ ParsedPath(Path path, ArrayList<PathElement> 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<String, ParsedPath> 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();
|
|
}
|
|
|