Use hermes engine

https://reactnative.dev/docs/hermes
This commit is contained in:
Brandon Presley 2022-10-28 18:36:47 +13:00
parent afbdd2fed5
commit e6dcd4a47e
32 changed files with 29 additions and 38 deletions

View File

@ -3,7 +3,7 @@ import {
DefaultTheme as NavigationDefaultTheme,
NavigationContainer,
} from '@react-navigation/native';
import React, {useEffect, useMemo, useState} from 'react';
import {useEffect, useMemo, useState} from 'react';
import {useColorScheme} from 'react-native';
import {
DarkTheme as PaperDarkTheme,

View File

@ -3,7 +3,7 @@ import {
useFocusEffect,
useNavigation,
} from '@react-navigation/native';
import React, {useCallback, useEffect, useState} from 'react';
import {useCallback, useEffect, useState} from 'react';
import {FlatList, Image} from 'react-native';
import {List} from 'react-native-paper';
import {getBestReps, getBestWeights} from './best.service';

View File

@ -1,5 +1,4 @@
import {createStackNavigator} from '@react-navigation/stack';
import React from 'react';
import BestList from './BestList';
import Set from './set';
import ViewBest from './ViewBest';

View File

@ -1,5 +1,4 @@
import * as shape from 'd3-shape';
import React from 'react';
import {View} from 'react-native';
import {Grid, LineChart, XAxis, YAxis} from 'react-native-svg-charts';
import {CombinedDarkTheme, CombinedDefaultTheme} from './App';

View File

@ -1,4 +1,3 @@
import React from 'react';
import {Button, Dialog, Portal, Text} from 'react-native-paper';
export default function ConfirmDialog({

View File

@ -1,6 +1,5 @@
import {DrawerNavigationProp} from '@react-navigation/drawer';
import {useNavigation} from '@react-navigation/native';
import React from 'react';
import {Appbar, IconButton} from 'react-native-paper';
import {DrawerParamList} from './drawer-param-list';
import DrawerMenu from './DrawerMenu';

View File

@ -1,5 +1,5 @@
import {NavigationProp, useNavigation} from '@react-navigation/native';
import React, {useCallback, useState} from 'react';
import {useCallback, useState} from 'react';
import DocumentPicker from 'react-native-document-picker';
import {FileSystem} from 'react-native-file-access';
import {Divider, IconButton, Menu} from 'react-native-paper';

View File

@ -4,7 +4,7 @@ import {
useNavigation,
useRoute,
} from '@react-navigation/native';
import React, {useCallback, useEffect, useState} from 'react';
import {useCallback, useEffect, useState} from 'react';
import {ScrollView, StyleSheet, View} from 'react-native';
import {Button, Text} from 'react-native-paper';
import {MARGIN, PADDING} from './constants';

View File

@ -1,5 +1,5 @@
import {RouteProp, useNavigation, useRoute} from '@react-navigation/native';
import React, {useCallback} from 'react';
import {useCallback} from 'react';
import {NativeModules, View} from 'react-native';
import {PADDING} from './constants';
import {HomePageParams} from './home-page-params';

View File

@ -1,5 +1,5 @@
import {RouteProp, useNavigation, useRoute} from '@react-navigation/native';
import React, {useCallback, useRef, useState} from 'react';
import {useCallback, useRef, useState} from 'react';
import {ScrollView, TextInput, View} from 'react-native';
import DocumentPicker from 'react-native-document-picker';
import {Button, Card, TouchableRipple} from 'react-native-paper';

View File

@ -1,5 +1,4 @@
import {createStackNavigator} from '@react-navigation/stack';
import React from 'react';
import EditSet from './EditSet';
import {HomePageParams} from './home-page-params';
import SetList from './SetList';

View File

@ -1,11 +1,9 @@
import React from 'react';
import {ComponentProps} from 'react';
import {FAB} from 'react-native-paper';
import {useColor} from './color';
import {lightColors} from './colors';
export default function MassiveFab(
props: Partial<React.ComponentProps<typeof FAB>>,
) {
export default function MassiveFab(props: Partial<ComponentProps<typeof FAB>>) {
const {color} = useColor();
const fabColor = lightColors.map(lightColor => lightColor.hex).includes(color)
? 'black'

View File

@ -1,12 +1,12 @@
import React from 'react';
import {ComponentProps, Ref} from 'react';
import {TextInput} from 'react-native-paper';
import {CombinedDefaultTheme} from './App';
import {MARGIN} from './constants';
import useDark from './use-dark';
export default function MassiveInput(
props: Partial<React.ComponentProps<typeof TextInput>> & {
innerRef?: React.Ref<any>;
props: Partial<ComponentProps<typeof TextInput>> & {
innerRef?: Ref<any>;
},
) {
const dark = useDark();

View File

@ -1,9 +1,9 @@
import React, {useContext, useState} from 'react';
import {createContext, useContext, useState} from 'react';
import {Snackbar} from 'react-native-paper';
import {CombinedDarkTheme, CombinedDefaultTheme} from './App';
import useDark from './use-dark';
export const SnackbarContext = React.createContext<{
export const SnackbarContext = createContext<{
toast: (value: string, timeout: number) => void;
}>({toast: () => null});

View File

@ -1,4 +1,3 @@
import React from 'react';
import {StyleSheet, View} from 'react-native';
import {Searchbar} from 'react-native-paper';
import {PADDING} from './constants';

View File

@ -3,7 +3,7 @@ import {
useFocusEffect,
useNavigation,
} from '@react-navigation/native';
import React, {useCallback, useMemo, useState} from 'react';
import {useCallback, useMemo, useState} from 'react';
import {GestureResponderEvent, Text} from 'react-native';
import {Divider, List, Menu} from 'react-native-paper';
import {getBestSet} from './best.service';

View File

@ -3,7 +3,7 @@ import {
useFocusEffect,
useNavigation,
} from '@react-navigation/native';
import React, {useCallback, useEffect, useState} from 'react';
import {useCallback, useEffect, useState} from 'react';
import {FlatList} from 'react-native';
import {List} from 'react-native-paper';
import DrawerHeader from './DrawerHeader';

View File

@ -1,5 +1,4 @@
import {createStackNavigator} from '@react-navigation/stack';
import React from 'react';
import EditPlan from './EditPlan';
import {PlanPageParams} from './plan-page-params';
import PlanList from './PlanList';

View File

@ -1,5 +1,4 @@
import {createDrawerNavigator} from '@react-navigation/drawer';
import React from 'react';
import {IconButton} from 'react-native-paper';
import BestPage from './BestPage';
import {DrawerParamList} from './drawer-param-list';

View File

@ -1,4 +1,4 @@
import React, {useCallback, useRef, useState} from 'react';
import {useCallback, useRef, useState} from 'react';
import {TextInput, View} from 'react-native';
import DocumentPicker from 'react-native-document-picker';
import {Button, Card, TouchableRipple} from 'react-native-paper';

View File

@ -1,5 +1,5 @@
import {NavigationProp, useNavigation} from '@react-navigation/native';
import React, {useCallback, useState} from 'react';
import {useCallback, useState} from 'react';
import {GestureResponderEvent, Image} from 'react-native';
import {Divider, List, Menu, Text} from 'react-native-paper';
import {HomePageParams} from './home-page-params';

View File

@ -3,7 +3,7 @@ import {
useFocusEffect,
useNavigation,
} from '@react-navigation/native';
import React, {useCallback, useEffect, useState} from 'react';
import {useCallback, useEffect, useState} from 'react';
import {FlatList} from 'react-native';
import {List} from 'react-native-paper';
import DrawerHeader from './DrawerHeader';

View File

@ -1,6 +1,6 @@
import {Picker} from '@react-native-picker/picker';
import {useFocusEffect} from '@react-navigation/native';
import React, {useCallback, useEffect, useState} from 'react';
import {useCallback, useEffect, useState} from 'react';
import {NativeModules, ScrollView} from 'react-native';
import DocumentPicker from 'react-native-document-picker';
import {Button} from 'react-native-paper';

View File

@ -1,5 +1,4 @@
import {useNavigation} from '@react-navigation/native';
import React from 'react';
import Share from 'react-native-share';
import {FileSystem} from 'react-native-file-access';
import {Appbar, IconButton} from 'react-native-paper';

View File

@ -1,5 +1,5 @@
import {RouteProp, useFocusEffect, useRoute} from '@react-navigation/native';
import React, {useCallback, useMemo, useRef, useState} from 'react';
import {useCallback, useMemo, useRef, useState} from 'react';
import {NativeModules, TextInput, View} from 'react-native';
import {FlatList} from 'react-native-gesture-handler';
import {Button, List, RadioButton} from 'react-native-paper';

View File

@ -1,4 +1,4 @@
import React, {useMemo} from 'react';
import {useMemo} from 'react';
import {Pressable} from 'react-native';
import {Switch as PaperSwitch, Text} from 'react-native-paper';
import {CombinedDarkTheme, CombinedDefaultTheme} from './App';

View File

@ -1,6 +1,6 @@
import {Picker} from '@react-native-picker/picker';
import {RouteProp, useRoute} from '@react-navigation/native';
import React, {useEffect, useState} from 'react';
import {useEffect, useState} from 'react';
import {View} from 'react-native';
import {getOneRepMax, getVolumes, getWeightsBy} from './best.service';
import {BestPageParams} from './BestPage';

View File

@ -1,5 +1,5 @@
import {NavigationProp, useNavigation} from '@react-navigation/native';
import React, {useCallback, useMemo, useState} from 'react';
import {useCallback, useMemo, useState} from 'react';
import {GestureResponderEvent, Image} from 'react-native';
import {List, Menu, Text} from 'react-native-paper';
import ConfirmDialog from './ConfirmDialog';

View File

@ -3,7 +3,7 @@ import {
useFocusEffect,
useNavigation,
} from '@react-navigation/native';
import React, {useCallback, useEffect, useState} from 'react';
import {useCallback, useEffect, useState} from 'react';
import {FlatList} from 'react-native';
import {List} from 'react-native-paper';
import DrawerHeader from './DrawerHeader';

View File

@ -1,5 +1,4 @@
import {createStackNavigator} from '@react-navigation/stack';
import React from 'react';
import EditWorkout from './EditWorkout';
import Set from './set';
import WorkoutList from './WorkoutList';

View File

@ -4,7 +4,7 @@ apply plugin: "kotlin-android"
import com.android.build.OutputFile
project.ext.react = [
enableHermes: false, // clean and rebuild if changing
enableHermes: true, // clean and rebuild if changing
]
project.ext.vectoricons = [
@ -17,7 +17,7 @@ apply from: "../../node_modules/react-native-vector-icons/fonts.gradle"
def enableSeparateBuildPerCPUArchitecture = true
def enableProguardInReleaseBuilds = true
def jscFlavor = 'org.webkit:android-jsc:+'
def enableHermes = project.ext.react.get("enableHermes", false);
def enableHermes = project.ext.react.get("enableHermes", true);
def reactNativeArchitectures() {
def value = project.getProperties().get("reactNativeArchitectures")

View File

@ -44,3 +44,6 @@
-dontwarn java.nio.file.*
-dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
-dontwarn okio.**
-keep class com.facebook.hermes.unicode.** { *; }
-keep class com.facebook.jni.** { *; }