mobile: update mobile app to react-native 0.72.0 (#2814)
* mobile: upgrade to react-native 0.71 * mobile: update to react-native 0.72.0 * mobile: fix release build on android * mobile: fix editor stuck in loading state * mobile: fix bootsplash logo in dark mode * mobile: update patch files * mobile: cleanup * mobile: increase delay * mobile: add logs on upload * mobile: ensure editor is ready before note loading * mobile: fix ui * mobile: fix * ci: update workflow * ci: undo workflow changes --------- Signed-off-by: Ammar Ahmed <40239442+ammarahm-ed@users.noreply.github.com>
4
apps/mobile/.gitignore
vendored
@@ -14,7 +14,9 @@ build_cache/
|
|||||||
.yarnrc.yml
|
.yarnrc.yml
|
||||||
.yarn
|
.yarn
|
||||||
*.log
|
*.log
|
||||||
|
.cxx/
|
||||||
|
*.keystore
|
||||||
|
!debug.keystore
|
||||||
|
|
||||||
# Xcode
|
# Xcode
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
import "react-native";
|
import "react-native";
|
||||||
|
import { it } from "@jest/globals";
|
||||||
// Note: test renderer must be required after react-native.
|
// Note: test renderer must be required after react-native.
|
||||||
import renderer from "react-test-renderer";
|
import renderer from "react-test-renderer";
|
||||||
import Heading from "../app/components/ui/typography/heading";
|
import Heading from "../app/components/ui/typography/heading";
|
||||||
|
|||||||
@@ -46,6 +46,7 @@ export async function downloadFile(filename, data, cancelToken) {
|
|||||||
|
|
||||||
if (!downloadUrl) throw new Error("Unable to resolve download url");
|
if (!downloadUrl) throw new Error("Unable to resolve download url");
|
||||||
let totalSize = 0;
|
let totalSize = 0;
|
||||||
|
console.log("Download starting");
|
||||||
let request = RNFetchBlob.config({
|
let request = RNFetchBlob.config({
|
||||||
path: path,
|
path: path,
|
||||||
IOSBackgroundTask: true
|
IOSBackgroundTask: true
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
|
|
||||||
import RNFetchBlob from "react-native-blob-util";
|
import RNFetchBlob from "react-native-blob-util";
|
||||||
import { useAttachmentStore } from "../../stores/use-attachment-store";
|
import { useAttachmentStore } from "../../stores/use-attachment-store";
|
||||||
import { db } from "../database";
|
import { DatabaseLogger, db } from "../database";
|
||||||
import { cacheDir } from "./utils";
|
import { cacheDir } from "./utils";
|
||||||
import { isImage, isDocument } from "@notesnook/core/utils/filename";
|
import { isImage, isDocument } from "@notesnook/core/utils/filename";
|
||||||
import { Platform } from "react-native";
|
import { Platform } from "react-native";
|
||||||
@@ -29,7 +29,8 @@ export async function uploadFile(filename, data, cancelToken) {
|
|||||||
if (!data) return false;
|
if (!data) return false;
|
||||||
let { url, headers } = data;
|
let { url, headers } = data;
|
||||||
|
|
||||||
console.log("uploading file: ", filename, headers);
|
DatabaseLogger.info(`Preparing to upload file: ${filename}`);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
let res = await fetch(url, {
|
let res = await fetch(url, {
|
||||||
method: "PUT",
|
method: "PUT",
|
||||||
@@ -37,7 +38,7 @@ export async function uploadFile(filename, data, cancelToken) {
|
|||||||
});
|
});
|
||||||
if (!res.ok) throw new Error(`${res.status}: Unable to resolve upload url`);
|
if (!res.ok) throw new Error(`${res.status}: Unable to resolve upload url`);
|
||||||
const uploadUrl = await res.text();
|
const uploadUrl = await res.text();
|
||||||
if (!uploadUrl) throw new Error("Unable to resolve upload url");
|
if (!uploadUrl) throw new Error("Unable to resolve attachment upload url");
|
||||||
let uploadFilePath = `${cacheDir}/${filename}`;
|
let uploadFilePath = `${cacheDir}/${filename}`;
|
||||||
|
|
||||||
const iosAppGroup =
|
const iosAppGroup =
|
||||||
@@ -49,6 +50,7 @@ export async function uploadFile(filename, data, cancelToken) {
|
|||||||
if (!exists && Platform.OS === "ios") {
|
if (!exists && Platform.OS === "ios") {
|
||||||
uploadFilePath = appGroupPath;
|
uploadFilePath = appGroupPath;
|
||||||
}
|
}
|
||||||
|
DatabaseLogger.info(`Starting upload: ${filename}`);
|
||||||
let request = RNFetchBlob.config({
|
let request = RNFetchBlob.config({
|
||||||
IOSBackgroundTask: !globalThis["IS_SHARE_EXTENSION"]
|
IOSBackgroundTask: !globalThis["IS_SHARE_EXTENSION"]
|
||||||
})
|
})
|
||||||
@@ -64,7 +66,7 @@ export async function uploadFile(filename, data, cancelToken) {
|
|||||||
useAttachmentStore
|
useAttachmentStore
|
||||||
.getState()
|
.getState()
|
||||||
.setProgress(sent, total, filename, 0, "upload");
|
.setProgress(sent, total, filename, 0, "upload");
|
||||||
console.log("uploading: ", sent, total);
|
DatabaseLogger.info(`uploading file: ${sent}/${total}`);
|
||||||
});
|
});
|
||||||
cancelToken.cancel = request.cancel;
|
cancelToken.cancel = request.cancel;
|
||||||
let response = await request;
|
let response = await request;
|
||||||
@@ -83,11 +85,12 @@ export async function uploadFile(filename, data, cancelToken) {
|
|||||||
RNFetchBlob.fs.unlink(`${cacheDir}/${filename}`).catch(console.log);
|
RNFetchBlob.fs.unlink(`${cacheDir}/${filename}`).catch(console.log);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
DatabaseLogger.info(`File uploaded: ${filename}`);
|
||||||
return result;
|
return result;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
useAttachmentStore.getState().remove(filename);
|
useAttachmentStore.getState().remove(filename);
|
||||||
console.log("upload file: ", e, url, headers);
|
DatabaseLogger.info(`File upload error: ${filename}, ${e}`);
|
||||||
|
DatabaseLogger.error(e);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -202,7 +202,7 @@ const AppLockedOverlay = () => {
|
|||||||
width={250}
|
width={250}
|
||||||
onPress={onUnlockAppRequested}
|
onPress={onUnlockAppRequested}
|
||||||
icon={"fingerprint"}
|
icon={"fingerprint"}
|
||||||
type={user ? "grayAccent" : "accent"}
|
type="transparent"
|
||||||
/>
|
/>
|
||||||
</View>
|
</View>
|
||||||
</View>
|
</View>
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||||||
|
|
||||||
import React, { useRef, useState } from "react";
|
import React, { useRef, useState } from "react";
|
||||||
import { ActivityIndicator, ScrollView, View } from "react-native";
|
import { ActivityIndicator, ScrollView, View } from "react-native";
|
||||||
import { FlatList } from "react-native-actions-sheet";
|
|
||||||
import Icon from "react-native-vector-icons/MaterialCommunityIcons";
|
import Icon from "react-native-vector-icons/MaterialCommunityIcons";
|
||||||
import { db } from "../../common/database";
|
import { db } from "../../common/database";
|
||||||
import filesystem from "../../common/filesystem";
|
import filesystem from "../../common/filesystem";
|
||||||
@@ -41,10 +41,12 @@ import {
|
|||||||
isImage,
|
isImage,
|
||||||
isVideo
|
isVideo
|
||||||
} from "@notesnook/core/utils/filename";
|
} from "@notesnook/core/utils/filename";
|
||||||
|
import { useSettingStore } from "../../stores/use-setting-store";
|
||||||
|
import { FlashList } from "react-native-actions-sheet/dist/src/views/FlashList";
|
||||||
|
|
||||||
export const AttachmentDialog = ({ note }) => {
|
export const AttachmentDialog = ({ note }) => {
|
||||||
const colors = useThemeStore((state) => state.colors);
|
const colors = useThemeStore((state) => state.colors);
|
||||||
|
const { height } = useSettingStore((state) => state.dimensions);
|
||||||
const [attachments, setAttachments] = useState(
|
const [attachments, setAttachments] = useState(
|
||||||
note
|
note
|
||||||
? db.attachments.ofNote(note.id, "all")
|
? db.attachments.ofNote(note.id, "all")
|
||||||
@@ -159,7 +161,8 @@ export const AttachmentDialog = ({ note }) => {
|
|||||||
style={{
|
style={{
|
||||||
width: "100%",
|
width: "100%",
|
||||||
alignSelf: "center",
|
alignSelf: "center",
|
||||||
paddingHorizontal: 12
|
paddingHorizontal: 12,
|
||||||
|
height: height * 0.85
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<SheetProvider context="attachments-list" />
|
<SheetProvider context="attachments-list" />
|
||||||
@@ -228,51 +231,48 @@ export const AttachmentDialog = ({ note }) => {
|
|||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<FlatList
|
<View>
|
||||||
|
<ScrollView
|
||||||
|
style={{
|
||||||
|
width: "100%",
|
||||||
|
height: 50,
|
||||||
|
flexDirection: "row",
|
||||||
|
backgroundColor: colors.bg
|
||||||
|
}}
|
||||||
|
contentContainerStyle={{
|
||||||
|
minWidth: "100%",
|
||||||
|
height: 50
|
||||||
|
}}
|
||||||
|
horizontal
|
||||||
|
>
|
||||||
|
{attachmentTypes.map((item) => (
|
||||||
|
<Button
|
||||||
|
type={currentFilter === item.filterBy ? "grayAccent" : "gray"}
|
||||||
|
key={item.title}
|
||||||
|
title={
|
||||||
|
item.title +
|
||||||
|
` (${filterAttachments(item.filterBy)?.length || 0})`
|
||||||
|
}
|
||||||
|
style={{
|
||||||
|
borderRadius: 0,
|
||||||
|
borderBottomWidth: 1,
|
||||||
|
flexGrow: 1,
|
||||||
|
borderBottomColor:
|
||||||
|
currentFilter !== item.filterBy
|
||||||
|
? "transparent"
|
||||||
|
: colors.accent
|
||||||
|
}}
|
||||||
|
onPress={() => {
|
||||||
|
setCurrentFilter(item.filterBy);
|
||||||
|
setAttachments(filterAttachments(item.filterBy));
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
))}
|
||||||
|
</ScrollView>
|
||||||
|
</View>
|
||||||
|
<FlashList
|
||||||
keyboardDismissMode="none"
|
keyboardDismissMode="none"
|
||||||
keyboardShouldPersistTaps="always"
|
keyboardShouldPersistTaps="always"
|
||||||
maxToRenderPerBatch={10}
|
|
||||||
initialNumToRender={10}
|
|
||||||
windowSize={5}
|
|
||||||
stickyHeaderIndices={[0]}
|
|
||||||
ListHeaderComponent={
|
|
||||||
<ScrollView
|
|
||||||
style={{
|
|
||||||
width: "100%",
|
|
||||||
height: 50,
|
|
||||||
flexDirection: "row",
|
|
||||||
backgroundColor: colors.bg
|
|
||||||
}}
|
|
||||||
contentContainerStyle={{
|
|
||||||
minWidth: "100%"
|
|
||||||
}}
|
|
||||||
horizontal
|
|
||||||
>
|
|
||||||
{attachmentTypes.map((item) => (
|
|
||||||
<Button
|
|
||||||
type={currentFilter === item.filterBy ? "grayAccent" : "gray"}
|
|
||||||
key={item.title}
|
|
||||||
title={
|
|
||||||
item.title +
|
|
||||||
` (${filterAttachments(item.filterBy)?.length || 0})`
|
|
||||||
}
|
|
||||||
style={{
|
|
||||||
borderRadius: 0,
|
|
||||||
borderBottomWidth: 1,
|
|
||||||
flexGrow: 1,
|
|
||||||
borderBottomColor:
|
|
||||||
currentFilter !== item.filterBy
|
|
||||||
? "transparent"
|
|
||||||
: colors.accent
|
|
||||||
}}
|
|
||||||
onPress={() => {
|
|
||||||
setCurrentFilter(item.filterBy);
|
|
||||||
setAttachments(filterAttachments(item.filterBy));
|
|
||||||
}}
|
|
||||||
/>
|
|
||||||
))}
|
|
||||||
</ScrollView>
|
|
||||||
}
|
|
||||||
ListEmptyComponent={
|
ListEmptyComponent={
|
||||||
<View
|
<View
|
||||||
style={{
|
style={{
|
||||||
@@ -294,8 +294,8 @@ export const AttachmentDialog = ({ note }) => {
|
|||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
}
|
}
|
||||||
|
estimatedItemSize={50}
|
||||||
data={attachments}
|
data={attachments}
|
||||||
keyExtractor={(item) => item.id}
|
|
||||||
renderItem={renderItem}
|
renderItem={renderItem}
|
||||||
/>
|
/>
|
||||||
|
|
||||||
|
|||||||
@@ -93,6 +93,7 @@ const AuthModal = () => {
|
|||||||
contentContainerStyle={{
|
contentContainerStyle={{
|
||||||
height: Platform.OS === "android" ? "100%" : "100%"
|
height: Platform.OS === "android" ? "100%" : "100%"
|
||||||
}}
|
}}
|
||||||
|
keyboardShouldPersistTaps="handled"
|
||||||
bounces={false}
|
bounces={false}
|
||||||
>
|
>
|
||||||
{currentAuthMode !== AuthMode.login ? (
|
{currentAuthMode !== AuthMode.login ? (
|
||||||
|
|||||||
@@ -63,6 +63,7 @@ export const SessionExpired = () => {
|
|||||||
() => {
|
() => {
|
||||||
eSendEvent(eUserLoggedIn, true);
|
eSendEvent(eUserLoggedIn, true);
|
||||||
setVisible(false);
|
setVisible(false);
|
||||||
|
setFocused(false);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -87,7 +88,6 @@ export const SessionExpired = () => {
|
|||||||
const sub = eSubscribeEvent(eLoginSessionExpired, open);
|
const sub = eSubscribeEvent(eLoginSessionExpired, open);
|
||||||
return () => {
|
return () => {
|
||||||
sub.unsubscribe?.();
|
sub.unsubscribe?.();
|
||||||
setFocused(false);
|
|
||||||
};
|
};
|
||||||
}, [visible, open]);
|
}, [visible, open]);
|
||||||
|
|
||||||
@@ -103,6 +103,7 @@ export const SessionExpired = () => {
|
|||||||
if (!user) return;
|
if (!user) return;
|
||||||
email.current = user.email;
|
email.current = user.email;
|
||||||
setVisible(true);
|
setVisible(true);
|
||||||
|
setFocused(false);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
SettingsService.set({
|
SettingsService.set({
|
||||||
@@ -115,6 +116,7 @@ export const SessionExpired = () => {
|
|||||||
let user = await db.user.getUser();
|
let user = await db.user.getUser();
|
||||||
if (!user) return;
|
if (!user) return;
|
||||||
email.current = user.email;
|
email.current = user.email;
|
||||||
|
setFocused(false);
|
||||||
setVisible(true);
|
setVisible(true);
|
||||||
}
|
}
|
||||||
}, [email]);
|
}, [email]);
|
||||||
|
|||||||
@@ -23,7 +23,6 @@ import NetInfo from "@react-native-community/netinfo";
|
|||||||
import React, { useCallback, useEffect, useRef } from "react";
|
import React, { useCallback, useEffect, useRef } from "react";
|
||||||
import {
|
import {
|
||||||
AppState,
|
AppState,
|
||||||
Appearance,
|
|
||||||
Keyboard,
|
Keyboard,
|
||||||
Linking,
|
Linking,
|
||||||
NativeEventEmitter,
|
NativeEventEmitter,
|
||||||
@@ -37,6 +36,9 @@ import * as RNIap from "react-native-iap";
|
|||||||
import { enabled } from "react-native-privacy-snapshot";
|
import { enabled } from "react-native-privacy-snapshot";
|
||||||
import { DatabaseLogger, db } from "../common/database";
|
import { DatabaseLogger, db } from "../common/database";
|
||||||
import { MMKV } from "../common/database/mmkv";
|
import { MMKV } from "../common/database/mmkv";
|
||||||
|
import Migrate from "../components/sheets/migrate";
|
||||||
|
import NewFeature from "../components/sheets/new-feature";
|
||||||
|
import { Update } from "../components/sheets/update";
|
||||||
import { Walkthrough } from "../components/walkthroughs";
|
import { Walkthrough } from "../components/walkthroughs";
|
||||||
import {
|
import {
|
||||||
clearAppState,
|
clearAppState,
|
||||||
@@ -78,12 +80,9 @@ import {
|
|||||||
eUserLoggedIn,
|
eUserLoggedIn,
|
||||||
refreshNotesPage
|
refreshNotesPage
|
||||||
} from "../utils/events";
|
} from "../utils/events";
|
||||||
|
import { getGithubVersion } from "../utils/github-version";
|
||||||
import { tabBarRef } from "../utils/global-refs";
|
import { tabBarRef } from "../utils/global-refs";
|
||||||
import { sleep } from "../utils/time";
|
import { sleep } from "../utils/time";
|
||||||
import Migrate from "../components/sheets/migrate";
|
|
||||||
import NewFeature from "../components/sheets/new-feature";
|
|
||||||
import { getGithubVersion } from "../utils/github-version";
|
|
||||||
import { Update } from "../components/sheets/update";
|
|
||||||
|
|
||||||
const onCheckSyncStatus = async (type) => {
|
const onCheckSyncStatus = async (type) => {
|
||||||
const { disableSync, disableAutoSync } = SettingsService.get();
|
const { disableSync, disableAutoSync } = SettingsService.get();
|
||||||
@@ -291,7 +290,6 @@ export const useAppEvents = () => {
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
let eventSubscriptions = [
|
let eventSubscriptions = [
|
||||||
Appearance.addChangeListener(SettingsService.setTheme),
|
|
||||||
Linking.addEventListener("url", onAppOpenedFromURL),
|
Linking.addEventListener("url", onAppOpenedFromURL),
|
||||||
SodiumEventEmitter.addListener(
|
SodiumEventEmitter.addListener(
|
||||||
"onSodiumProgress",
|
"onSodiumProgress",
|
||||||
@@ -596,9 +594,12 @@ export const useAppEvents = () => {
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!loading) {
|
if (!loading) {
|
||||||
doAppLoadActions();
|
(async () => {
|
||||||
|
onUserUpdated();
|
||||||
|
doAppLoadActions();
|
||||||
|
})();
|
||||||
}
|
}
|
||||||
}, [loading]);
|
}, [loading, onUserUpdated]);
|
||||||
|
|
||||||
const initializeDatabase = useCallback(async () => {
|
const initializeDatabase = useCallback(async () => {
|
||||||
if (!db.isInitialized) {
|
if (!db.isInitialized) {
|
||||||
@@ -606,15 +607,28 @@ export const useAppEvents = () => {
|
|||||||
DatabaseLogger.info("Initializing database");
|
DatabaseLogger.info("Initializing database");
|
||||||
await db.init();
|
await db.init();
|
||||||
}
|
}
|
||||||
await onUserUpdated();
|
|
||||||
if (IsDatabaseMigrationRequired()) return;
|
if (IsDatabaseMigrationRequired()) return;
|
||||||
loadNotes();
|
loadNotes();
|
||||||
}, [IsDatabaseMigrationRequired, loadNotes, onUserUpdated]);
|
}, [IsDatabaseMigrationRequired, loadNotes]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (appLocked || !db.isInitialized || !loading) return;
|
let sub;
|
||||||
initializeDatabase();
|
if (appLocked) {
|
||||||
}, [initializeDatabase, appLocked, loading]);
|
const sub = useUserStore.subscribe((state) => {
|
||||||
|
if (
|
||||||
|
!state.appLocked &&
|
||||||
|
db.isInitialized &&
|
||||||
|
useNoteStore.getState().loading
|
||||||
|
) {
|
||||||
|
initializeDatabase();
|
||||||
|
sub();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return () => {
|
||||||
|
sub?.();
|
||||||
|
};
|
||||||
|
}, [appLocked, initializeDatabase]);
|
||||||
|
|
||||||
return initializeDatabase;
|
return initializeDatabase;
|
||||||
};
|
};
|
||||||
@@ -631,7 +645,6 @@ const doAppLoadActions = async () => {
|
|||||||
if (await checkAppUpdateAvailable()) return;
|
if (await checkAppUpdateAvailable()) return;
|
||||||
if (await checkForRateAppRequest()) return;
|
if (await checkForRateAppRequest()) return;
|
||||||
if (await PremiumService.getRemainingTrialDaysStatus()) return;
|
if (await PremiumService.getRemainingTrialDaysStatus()) return;
|
||||||
|
|
||||||
if (SettingsService.get().introCompleted) {
|
if (SettingsService.get().introCompleted) {
|
||||||
useMessageStore.subscribe((state) => {
|
useMessageStore.subscribe((state) => {
|
||||||
let dialogs = state.dialogs;
|
let dialogs = state.dialogs;
|
||||||
|
|||||||
@@ -7,7 +7,6 @@
|
|||||||
"@flyerhq/react-native-link-preview": "^1.6.0",
|
"@flyerhq/react-native-link-preview": "^1.6.0",
|
||||||
"@mdi/js": "^6.7.96",
|
"@mdi/js": "^6.7.96",
|
||||||
"absolutify": "^0.1.0",
|
"absolutify": "^0.1.0",
|
||||||
"buffer": "^6.0.3",
|
|
||||||
"dayjs": "^1.10.4",
|
"dayjs": "^1.10.4",
|
||||||
"entities": "^3.0.1",
|
"entities": "^3.0.1",
|
||||||
"html-to-text": "9.0.5",
|
"html-to-text": "9.0.5",
|
||||||
@@ -30,7 +29,9 @@
|
|||||||
"react-native-blob-util": "0.17.3",
|
"react-native-blob-util": "0.17.3",
|
||||||
"react-native-swiper-flatlist": "3.2.2",
|
"react-native-swiper-flatlist": "3.2.2",
|
||||||
"@streetwriters/showdown": "^3.0.1-alpha.2",
|
"@streetwriters/showdown": "^3.0.1-alpha.2",
|
||||||
"react-native-keyboard-aware-scroll-view": "^0.9.5"
|
"react-native-keyboard-aware-scroll-view": "^0.9.5",
|
||||||
|
"buffer": "^6.0.3",
|
||||||
|
"deprecated-react-native-prop-types": "^4.1.0"
|
||||||
},
|
},
|
||||||
"sideEffects": false
|
"sideEffects": false
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -128,6 +128,7 @@ const Editor = React.memo(
|
|||||||
const onError = useCallback(() => {
|
const onError = useCallback(() => {
|
||||||
renderKey.current =
|
renderKey.current =
|
||||||
renderKey.current === `editor-0` ? `editor-1` : `editor-0`;
|
renderKey.current === `editor-0` ? `editor-1` : `editor-0`;
|
||||||
|
editor.state.current.ready = false;
|
||||||
editor.setLoading(true);
|
editor.setLoading(true);
|
||||||
}, [editor]);
|
}, [editor]);
|
||||||
|
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ const EditorOverlay = ({ editorId = "", editor }) => {
|
|||||||
translateValue.value = 0;
|
translateValue.value = 0;
|
||||||
timers.current.error = setTimeout(() => {
|
timers.current.error = setTimeout(() => {
|
||||||
setError(true);
|
setError(true);
|
||||||
}, 15 * 1000);
|
}, 60 * 1000);
|
||||||
} else {
|
} else {
|
||||||
clearTimers();
|
clearTimers();
|
||||||
const timeDiffSinceLoadStarted =
|
const timeDiffSinceLoadStarted =
|
||||||
@@ -109,7 +109,7 @@ const EditorOverlay = ({ editorId = "", editor }) => {
|
|||||||
clearTimers();
|
clearTimers();
|
||||||
eUnSubscribeEvent("loadingNote" + editorId, load);
|
eUnSubscribeEvent("loadingNote" + editorId, load);
|
||||||
};
|
};
|
||||||
}, [editorId, load, translateValue]);
|
}, [editorId, load, translateValue, opacity]);
|
||||||
|
|
||||||
const animatedStyle = useAnimatedStyle(() => {
|
const animatedStyle = useAnimatedStyle(() => {
|
||||||
return {
|
return {
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ class Commands {
|
|||||||
this.ref?.current?.requestFocus();
|
this.ref?.current?.requestFocus();
|
||||||
}, 1);
|
}, 1);
|
||||||
} else {
|
} else {
|
||||||
await sleep(200);
|
await sleep(400);
|
||||||
await this.doAsync("editor.commands.focus()");
|
await this.doAsync("editor.commands.focus()");
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -344,6 +344,14 @@ export const useEditor = (
|
|||||||
) => {
|
) => {
|
||||||
state.current.currentlyEditing = true;
|
state.current.currentlyEditing = true;
|
||||||
const editorState = useEditorStore.getState();
|
const editorState = useEditorStore.getState();
|
||||||
|
|
||||||
|
if (
|
||||||
|
!state.current.ready &&
|
||||||
|
(await isEditorLoaded(editorRef, sessionIdRef.current))
|
||||||
|
) {
|
||||||
|
state.current.ready = true;
|
||||||
|
}
|
||||||
|
|
||||||
if (item && item.type === "new") {
|
if (item && item.type === "new") {
|
||||||
currentNote.current && (await reset());
|
currentNote.current && (await reset());
|
||||||
const nextSessionId = makeSessionId(item as NoteType);
|
const nextSessionId = makeSessionId(item as NoteType);
|
||||||
@@ -369,6 +377,10 @@ export const useEditor = (
|
|||||||
} else {
|
} else {
|
||||||
overlay(true);
|
overlay(true);
|
||||||
}
|
}
|
||||||
|
if (!state.current.ready) {
|
||||||
|
currentNote.current = item as NoteType;
|
||||||
|
return;
|
||||||
|
}
|
||||||
lastContentChangeTime.current = item.dateEdited;
|
lastContentChangeTime.current = item.dateEdited;
|
||||||
const nextSessionId = makeSessionId(item as NoteType);
|
const nextSessionId = makeSessionId(item as NoteType);
|
||||||
lockedSessionId.current = nextSessionId;
|
lockedSessionId.current = nextSessionId;
|
||||||
@@ -611,14 +623,14 @@ export const useEditor = (
|
|||||||
);
|
);
|
||||||
await commands.setSessionId(sessionIdRef.current);
|
await commands.setSessionId(sessionIdRef.current);
|
||||||
await onReady();
|
await onReady();
|
||||||
|
state.current.ready = true;
|
||||||
await commands.setSettings();
|
await commands.setSettings();
|
||||||
if (currentNote.current) {
|
if (currentNote.current) {
|
||||||
loadNote({ ...currentNote.current, forced: true });
|
loadNote({ ...currentNote.current, forced: true });
|
||||||
} else {
|
} else {
|
||||||
await commands.setPlaceholder(placeholderTip.current);
|
await commands.setPlaceholder(placeholderTip.current);
|
||||||
}
|
}
|
||||||
state.current.ready = true;
|
}, 1000);
|
||||||
}, 300);
|
|
||||||
}, [
|
}, [
|
||||||
onReady,
|
onReady,
|
||||||
postMessage,
|
postMessage,
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License
|
|||||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React, { useEffect } from "react";
|
import React, { useEffect, useRef } from "react";
|
||||||
import {
|
import {
|
||||||
AppState,
|
AppState,
|
||||||
KeyboardAvoidingView,
|
KeyboardAvoidingView,
|
||||||
@@ -47,11 +47,18 @@ export const EditorWrapper = ({ width }) => {
|
|||||||
(state) => state.settings.introCompleted
|
(state) => state.settings.introCompleted
|
||||||
);
|
);
|
||||||
const keyboard = useKeyboard();
|
const keyboard = useKeyboard();
|
||||||
|
const prevState = useRef();
|
||||||
|
|
||||||
const onAppStateChanged = async (state) => {
|
const onAppStateChanged = async (state) => {
|
||||||
|
if (!prevState.current) {
|
||||||
|
prevState.current = state;
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (state === "active") {
|
if (state === "active") {
|
||||||
editorController.current.onReady();
|
editorController.current.onReady();
|
||||||
editorController.current.overlay(false);
|
editorController.current.overlay(false);
|
||||||
|
} else {
|
||||||
|
prevState.current = state;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -74,6 +74,8 @@ const Group = ({
|
|||||||
data={route.params.sections}
|
data={route.params.sections}
|
||||||
keyExtractor={keyExtractor}
|
keyExtractor={keyExtractor}
|
||||||
renderItem={renderItem}
|
renderItem={renderItem}
|
||||||
|
enableOnAndroid
|
||||||
|
enableAutomaticScroll
|
||||||
/>
|
/>
|
||||||
) : null}
|
) : null}
|
||||||
{route.params.component ? components[route.params.component] : null}
|
{route.params.component ? components[route.params.component] : null}
|
||||||
|
|||||||
@@ -1,6 +0,0 @@
|
|||||||
|
|
||||||
[android]
|
|
||||||
target = Google Inc.:Google APIs:23
|
|
||||||
|
|
||||||
[maven_repositories]
|
|
||||||
central = https://repo1.maven.org/maven2
|
|
||||||
@@ -1,75 +0,0 @@
|
|||||||
[ignore]
|
|
||||||
; We fork some components by platform
|
|
||||||
.*/*[.]android.js
|
|
||||||
|
|
||||||
; Ignore "BUCK" generated dirs
|
|
||||||
<PROJECT_ROOT>/\.buckd/
|
|
||||||
|
|
||||||
; Ignore polyfills
|
|
||||||
node_modules/react-native/Libraries/polyfills/.*
|
|
||||||
|
|
||||||
; These should not be required directly
|
|
||||||
; require from fbjs/lib instead: require('fbjs/lib/warning')
|
|
||||||
node_modules/warning/.*
|
|
||||||
|
|
||||||
; Flow doesn't support platforms
|
|
||||||
.*/Libraries/Utilities/LoadingView.js
|
|
||||||
|
|
||||||
.*/node_modules/resolve/test/resolver/malformed_package_json/package\.json$
|
|
||||||
|
|
||||||
[untyped]
|
|
||||||
.*/node_modules/@react-native-community/cli/.*/.*
|
|
||||||
|
|
||||||
[include]
|
|
||||||
|
|
||||||
[libs]
|
|
||||||
node_modules/react-native/interface.js
|
|
||||||
node_modules/react-native/flow/
|
|
||||||
|
|
||||||
[options]
|
|
||||||
emoji=true
|
|
||||||
|
|
||||||
format.bracket_spacing=false
|
|
||||||
|
|
||||||
module.file_ext=.js
|
|
||||||
module.file_ext=.json
|
|
||||||
module.file_ext=.ios.js
|
|
||||||
|
|
||||||
munge_underscores=true
|
|
||||||
|
|
||||||
module.name_mapper='^react-native/\(.*\)$' -> '<PROJECT_ROOT>/node_modules/react-native/\1'
|
|
||||||
module.name_mapper='^@?[./a-zA-Z0-9$_-]+\.\(bmp\|gif\|jpg\|jpeg\|png\|psd\|svg\|webp\|m4v\|mov\|mp4\|mpeg\|mpg\|webm\|aac\|aiff\|caf\|m4a\|mp3\|wav\|html\|pdf\)$' -> '<PROJECT_ROOT>/node_modules/react-native/Libraries/Image/RelativeImageStub'
|
|
||||||
|
|
||||||
suppress_type=$FlowIssue
|
|
||||||
suppress_type=$FlowFixMe
|
|
||||||
suppress_type=$FlowFixMeProps
|
|
||||||
suppress_type=$FlowFixMeState
|
|
||||||
|
|
||||||
suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(<VERSION>\\)? *\\(site=[a-z,_]*react_native\\(_ios\\)?_\\(oss\\|fb\\)[a-z,_]*\\)?)\\)
|
|
||||||
suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(<VERSION>\\)? *\\(site=[a-z,_]*react_native\\(_ios\\)?_\\(oss\\|fb\\)[a-z,_]*\\)?)\\)?:? #[0-9]+
|
|
||||||
suppress_comment=\\(.\\|\n\\)*\\$FlowExpectedError
|
|
||||||
|
|
||||||
[lints]
|
|
||||||
sketchy-null-number=warn
|
|
||||||
sketchy-null-mixed=warn
|
|
||||||
sketchy-number=warn
|
|
||||||
untyped-type-import=warn
|
|
||||||
nonstrict-import=warn
|
|
||||||
deprecated-type=warn
|
|
||||||
unsafe-getters-setters=warn
|
|
||||||
inexact-spread=warn
|
|
||||||
unnecessary-invariant=warn
|
|
||||||
signature-verification-failure=warn
|
|
||||||
deprecated-utility=error
|
|
||||||
|
|
||||||
[strict]
|
|
||||||
deprecated-type
|
|
||||||
nonstrict-import
|
|
||||||
sketchy-null
|
|
||||||
unclear-type
|
|
||||||
unsafe-getters-setters
|
|
||||||
untyped-import
|
|
||||||
untyped-type-import
|
|
||||||
|
|
||||||
[version]
|
|
||||||
^0.176.3
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
source 'https://rubygems.org'
|
source 'https://rubygems.org'
|
||||||
# You may use http://rbenv.org/ or https://rvm.io/ to install and use this version
|
# You may use http://rbenv.org/ or https://rvm.io/ to install and use this version
|
||||||
ruby '2.7.5'
|
ruby ">= 2.6.10"
|
||||||
gem 'cocoapods', '~> 1.11', '>= 1.11.2'
|
gem 'cocoapods', '~> 1.12'
|
||||||
@@ -1,96 +1,53 @@
|
|||||||
apply plugin: "com.android.application"
|
apply plugin: "com.android.application"
|
||||||
|
apply plugin: "com.facebook.react"
|
||||||
apply from: project(':react-native-config').projectDir.getPath() + "/dotenv.gradle"
|
apply from: project(':react-native-config').projectDir.getPath() + "/dotenv.gradle"
|
||||||
|
|
||||||
import com.android.build.OutputFile
|
import com.android.build.OutputFile
|
||||||
import groovy.json.JsonSlurper
|
import groovy.json.JsonSlurper
|
||||||
import org.apache.tools.ant.taskdefs.condition.Os
|
import org.apache.tools.ant.taskdefs.condition.Os
|
||||||
|
|
||||||
|
react {
|
||||||
/**
|
/* Folders */
|
||||||
* The react.gradle file registers a task for each build variant (e.g. bundleDebugJsAndAssets
|
// The root of your project, i.e. where "package.json" lives. Default is '..'
|
||||||
* and bundleReleaseJsAndAssets).
|
root = file("$rootDir/../")
|
||||||
* These basically call `react-native bundle` with the correct arguments during the Android build
|
// The folder where the react-native NPM package is. Default is ../node_modules/react-native
|
||||||
* cycle. By default, bundleDebugJsAndAssets is skipped, as in debug/dev mode we prefer to load the
|
reactNativeDir = file("$rootDir/../../node_modules/react-native")
|
||||||
* bundle directly from the development server. Below you can see all the possible configurations
|
// The folder where the react-native Codegen package is. Default is ../node_modules/react-native-codegen
|
||||||
* and their defaults. If you decide to add a configuration block, make sure to add it before the
|
codegenDir = file("$rootDir/../../node_modules/react-native-codegen")
|
||||||
* `apply from: "../../node_modules/react-native/react.gradle"` line.
|
// The cli.js file which is the React Native CLI entrypoint. Default is ../node_modules/react-native/cli.js
|
||||||
*
|
cliFile = file("$rootDir/../../node_modules/react-native/cli.js")
|
||||||
* project.ext.react = [
|
/* Variants */
|
||||||
* // the name of the generated asset file containing your JS bundle
|
// The list of variants to that are debuggable. For those we're going to
|
||||||
* bundleAssetName: "index.android.bundle",
|
// skip the bundling of the JS bundle and the assets. By default is just 'debug'.
|
||||||
*
|
// If you add flavors like lite, prod, etc. you'll have to list your debuggableVariants.
|
||||||
* // the entry file for bundle generation. If none specified and
|
// debuggableVariants = ["liteDebug", "prodDebug"]
|
||||||
* // "index.android.js" exists, it will be used. Otherwise "index.js" is
|
/* Bundling */
|
||||||
* // default. Can be overridden with ENTRY_FILE environment variable.
|
// A list containing the node command and its flags. Default is just 'node'.
|
||||||
* entryFile: "index.android.js",
|
// nodeExecutableAndArgs = ["node"]
|
||||||
*
|
//
|
||||||
* // https://reactnative.dev/docs/performance#enable-the-ram-format
|
// The command to run when bundling. By default is 'bundle'
|
||||||
* bundleCommand: "ram-bundle",
|
bundleCommand = "webpack-bundle"
|
||||||
*
|
//
|
||||||
* // whether to bundle JS and assets in debug mode
|
// The path to the CLI configuration file. Default is empty.
|
||||||
* bundleInDebug: false,
|
// bundleConfig = file(../rn-cli.config.js)
|
||||||
*
|
//
|
||||||
* // whether to bundle JS and assets in release mode
|
// The name of the generated asset file containing your JS bundle
|
||||||
* bundleInRelease: true,
|
// bundleAssetName = "MyApplication.android.bundle"
|
||||||
*
|
//
|
||||||
* // whether to bundle JS and assets in another build variant (if configured).
|
// The entry file for bundle generation. Default is 'index.android.js' or 'index.js'
|
||||||
* // See http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Build-Variants
|
// entryFile = file("../js/MyApplication.android.js")
|
||||||
* // The configuration property can be in the following formats
|
//
|
||||||
* // 'bundleIn${productFlavor}${buildType}'
|
// A list of extra flags to pass to the 'bundle' commands.
|
||||||
* // 'bundleIn${buildType}'
|
// See https://github.com/react-native-community/cli/blob/main/docs/commands.md#bundle
|
||||||
* // bundleInFreeDebug: true,
|
// extraPackagerArgs = []
|
||||||
* // bundleInPaidRelease: true,
|
/* Hermes Commands */
|
||||||
* // bundleInBeta: true,
|
// The hermes compiler command to run. By default it is 'hermesc'
|
||||||
*
|
hermesCommand = "$rootDir/../../node_modules/react-native/sdks/hermesc/%OS-BIN%/hermesc"
|
||||||
* // whether to disable dev mode in custom build variants (by default only disabled in release)
|
//
|
||||||
* // for example: to disable dev mode in the staging build type (if configured)
|
// The list of flags to pass to the Hermes compiler. By default is "-O", "-output-source-map"
|
||||||
* devDisabledInStaging: true,
|
hermesFlags = ["-O", "-output-source-map"]
|
||||||
* // The configuration property can be in the following formats
|
}
|
||||||
* // 'devDisabledIn${productFlavor}${buildType}'
|
println(projectDir);
|
||||||
* // 'devDisabledIn${buildType}'
|
|
||||||
*
|
|
||||||
* // the root of your project, i.e. where "package.json" lives
|
|
||||||
* root: "../../",
|
|
||||||
*
|
|
||||||
* // where to put the JS bundle asset in debug mode
|
|
||||||
* jsBundleDirDebug: "$buildDir/intermediates/assets/debug",
|
|
||||||
*
|
|
||||||
* // where to put the JS bundle asset in release mode
|
|
||||||
* jsBundleDirRelease: "$buildDir/intermediates/assets/release",
|
|
||||||
*
|
|
||||||
* // where to put drawable resources / React Native assets, e.g. the ones you use via
|
|
||||||
* // require('./image.png')), in debug mode
|
|
||||||
* resourcesDirDebug: "$buildDir/intermediates/res/merged/debug",
|
|
||||||
*
|
|
||||||
* // where to put drawable resources / React Native assets, e.g. the ones you use via
|
|
||||||
* // require('./image.png')), in release mode
|
|
||||||
* resourcesDirRelease: "$buildDir/intermediates/res/merged/release",
|
|
||||||
*
|
|
||||||
* // by default the gradle tasks are skipped if none of the JS files or assets change; this means
|
|
||||||
* // that we don't look at files in android/ or ios/ to determine whether the tasks are up to
|
|
||||||
* // date; if you have any other folders that you want to ignore for performance reasons (gradle
|
|
||||||
* // indexes the entire tree), add them here. Alternatively, if you have JS files in android/
|
|
||||||
* // for example, you might want to remove it from here.
|
|
||||||
* inputExcludes: ["android/**", "ios/**"],
|
|
||||||
*
|
|
||||||
* // override which node gets called and with what additional arguments
|
|
||||||
* nodeExecutableAndArgs: ["node"],
|
|
||||||
*
|
|
||||||
* // supply additional arguments to the packager
|
|
||||||
* extraPackagerArgs: []
|
|
||||||
* ]
|
|
||||||
*/
|
|
||||||
|
|
||||||
project.ext.react = [
|
|
||||||
enableHermes: true, // clean and rebuild if changing
|
|
||||||
bundleCommand: "webpack-bundle",
|
|
||||||
bundleInDebug: false,
|
|
||||||
cliPath: "../../../node_modules/react-native/cli.js",
|
|
||||||
hermesCommand: "../../../node_modules/react-native/sdks/hermesc/%OS-BIN%/hermesc",
|
|
||||||
composeSourceMapsPath: "../node_modules/react-native/scripts/compose-source-maps.js"
|
|
||||||
]
|
|
||||||
|
|
||||||
apply from: "../../../node_modules/react-native/react.gradle"
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set this to true to create two separate APKs instead of one:
|
* Set this to true to create two separate APKs instead of one:
|
||||||
@@ -120,17 +77,6 @@ def enableProguardInReleaseBuilds = true
|
|||||||
*/
|
*/
|
||||||
def jscFlavor = 'org.webkit:android-jsc:+'
|
def jscFlavor = 'org.webkit:android-jsc:+'
|
||||||
|
|
||||||
/**
|
|
||||||
* Whether to enable the Hermes VM.
|
|
||||||
*
|
|
||||||
* This should be set on project.ext.react and mirrored here. If it is not set
|
|
||||||
* on project.ext.react, JavaScript will not be compiled to Hermes Bytecode
|
|
||||||
* and the benefits of using Hermes will therefore be sharply reduced.
|
|
||||||
*/
|
|
||||||
def enableHermes = project.ext.react.get("enableHermes", true);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Architectures to build native code for.
|
* Architectures to build native code for.
|
||||||
*/
|
*/
|
||||||
@@ -158,7 +104,8 @@ android {
|
|||||||
sourceCompatibility JavaVersion.VERSION_1_8
|
sourceCompatibility JavaVersion.VERSION_1_8
|
||||||
targetCompatibility JavaVersion.VERSION_1_8
|
targetCompatibility JavaVersion.VERSION_1_8
|
||||||
}
|
}
|
||||||
|
|
||||||
|
namespace "com.streetwriters.notesnook"
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId "com.streetwriters.notesnook"
|
applicationId "com.streetwriters.notesnook"
|
||||||
minSdkVersion rootProject.ext.minSdkVersion
|
minSdkVersion rootProject.ext.minSdkVersion
|
||||||
@@ -169,73 +116,6 @@ android {
|
|||||||
testBuildType System.getProperty('testBuildType', 'debug')
|
testBuildType System.getProperty('testBuildType', 'debug')
|
||||||
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
|
testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner'
|
||||||
missingDimensionStrategy "store", "play"
|
missingDimensionStrategy "store", "play"
|
||||||
buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString()
|
|
||||||
if (isNewArchitectureEnabled()) {
|
|
||||||
// We configure the NDK build only if you decide to opt-in for the New Architecture.
|
|
||||||
externalNativeBuild {
|
|
||||||
ndkBuild {
|
|
||||||
arguments "APP_PLATFORM=android-21",
|
|
||||||
"APP_STL=c++_shared",
|
|
||||||
"NDK_TOOLCHAIN_VERSION=clang",
|
|
||||||
"GENERATED_SRC_DIR=$buildDir/generated/source",
|
|
||||||
"PROJECT_BUILD_DIR=$buildDir",
|
|
||||||
"REACT_ANDROID_DIR=$rootDir/../../node_modules/react-native/ReactAndroid",
|
|
||||||
"REACT_ANDROID_BUILD_DIR=$rootDir/../../node_modules/react-native/ReactAndroid/build",
|
|
||||||
"NODE_MODULES_DIR=$rootDir/../../node_modules"
|
|
||||||
cFlags "-Wall", "-Werror", "-fexceptions", "-frtti", "-DWITH_INSPECTOR=1"
|
|
||||||
cppFlags "-std=c++17"
|
|
||||||
// Make sure this target name is the same you specify inside the
|
|
||||||
// src/main/jni/Android.mk file for the `LOCAL_MODULE` variable.
|
|
||||||
targets "notesnook_appmodules"
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (!enableSeparateBuildPerCPUArchitecture) {
|
|
||||||
ndk {
|
|
||||||
abiFilters (*reactNativeArchitectures())
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (isNewArchitectureEnabled()) {
|
|
||||||
// We configure the NDK build only if you decide to opt-in for the New Architecture.
|
|
||||||
externalNativeBuild {
|
|
||||||
ndkBuild {
|
|
||||||
path "$projectDir/src/main/jni/Android.mk"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
def reactAndroidProjectDir = project(':ReactAndroid').projectDir
|
|
||||||
def packageReactNdkDebugLibs = tasks.register("packageReactNdkDebugLibs", Copy) {
|
|
||||||
dependsOn(":ReactAndroid:packageReactNdkDebugLibsForBuck")
|
|
||||||
from("$reactAndroidProjectDir/src/main/jni/prebuilt/lib")
|
|
||||||
into("$buildDir/react-ndk/exported")
|
|
||||||
}
|
|
||||||
def packageReactNdkReleaseLibs = tasks.register("packageReactNdkReleaseLibs", Copy) {
|
|
||||||
dependsOn(":ReactAndroid:packageReactNdkReleaseLibsForBuck")
|
|
||||||
from("$reactAndroidProjectDir/src/main/jni/prebuilt/lib")
|
|
||||||
into("$buildDir/react-ndk/exported")
|
|
||||||
}
|
|
||||||
afterEvaluate {
|
|
||||||
// If you wish to add a custom TurboModule or component locally,
|
|
||||||
// you should uncomment this line.
|
|
||||||
// preBuild.dependsOn("generateCodegenArtifactsFromSchema")
|
|
||||||
preDebugBuild.dependsOn(packageReactNdkDebugLibs)
|
|
||||||
preReleaseBuild.dependsOn(packageReactNdkReleaseLibs)
|
|
||||||
// Due to a bug inside AGP, we have to explicitly set a dependency
|
|
||||||
// between configureNdkBuild* tasks and the preBuild tasks.
|
|
||||||
// This can be removed once this is solved: https://issuetracker.google.com/issues/207403732
|
|
||||||
configureNdkBuildRelease.dependsOn(preReleaseBuild)
|
|
||||||
configureNdkBuildDebug.dependsOn(preDebugBuild)
|
|
||||||
reactNativeArchitectures().each { architecture ->
|
|
||||||
tasks.findByName("configureNdkBuildDebug[${architecture}]")?.configure {
|
|
||||||
dependsOn("preDebugBuild")
|
|
||||||
}
|
|
||||||
tasks.findByName("configureNdkBuildRelease[${architecture}]")?.configure {
|
|
||||||
dependsOn("preReleaseBuild")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
splits {
|
splits {
|
||||||
@@ -309,63 +189,34 @@ android {
|
|||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation fileTree(dir: "libs", include: ["*.jar"])
|
// The version of react-native is set by the React Native Gradle Plugin
|
||||||
//noinspection GradleDynamicVersion
|
implementation("com.facebook.react:react-android")
|
||||||
implementation "com.facebook.react:react-native:+" // From node_modules
|
implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.0.0")
|
||||||
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.0.0"
|
implementation("androidx.core:core-splashscreen:1.0.0")
|
||||||
|
|
||||||
implementation 'androidx.multidex:multidex:2.0.1'
|
implementation 'androidx.multidex:multidex:2.0.1'
|
||||||
implementation 'com.squareup.okhttp3:okhttp:4.9.2'
|
implementation 'com.squareup.okhttp3:okhttp:4.9.2'
|
||||||
implementation 'com.squareup.okhttp3:logging-interceptor:4.9.2'
|
implementation 'com.squareup.okhttp3:logging-interceptor:4.9.2'
|
||||||
implementation 'com.squareup.okhttp3:okhttp-urlconnection:4.9.2'
|
implementation 'com.squareup.okhttp3:okhttp-urlconnection:4.9.2'
|
||||||
implementation "androidx.core:core-splashscreen:1.0.0-rc01"
|
|
||||||
androidTestImplementation('com.wix:detox:+')
|
|
||||||
implementation 'com.tencent:mmkv-static:1.2.7'
|
|
||||||
implementation 'androidx.appcompat:appcompat:1.1.0'
|
|
||||||
debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}") {
|
|
||||||
exclude group:'com.facebook.fbjni'
|
|
||||||
}
|
|
||||||
|
|
||||||
|
androidTestImplementation('com.wix:detox:+')
|
||||||
|
implementation 'androidx.appcompat:appcompat:1.1.0'
|
||||||
|
|
||||||
|
debugImplementation("com.facebook.flipper:flipper:${FLIPPER_VERSION}")
|
||||||
debugImplementation("com.facebook.flipper:flipper-network-plugin:${FLIPPER_VERSION}") {
|
debugImplementation("com.facebook.flipper:flipper-network-plugin:${FLIPPER_VERSION}") {
|
||||||
exclude group:'com.facebook.flipper'
|
|
||||||
exclude group:'com.squareup.okhttp3', module:'okhttp'
|
exclude group:'com.squareup.okhttp3', module:'okhttp'
|
||||||
}
|
}
|
||||||
|
|
||||||
debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}") {
|
debugImplementation("com.facebook.flipper:flipper-fresco-plugin:${FLIPPER_VERSION}")
|
||||||
exclude group:'com.facebook.flipper'
|
if (hermesEnabled.toBoolean()) {
|
||||||
}
|
implementation("com.facebook.react:hermes-android")
|
||||||
|
|
||||||
if (enableHermes) {
|
|
||||||
implementation("com.facebook.react:hermes-engine:+") { // From node_modules
|
|
||||||
exclude group:'com.facebook.fbjni'
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
implementation jscFlavor
|
implementation jscFlavor
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isNewArchitectureEnabled()) {
|
|
||||||
// If new architecture is enabled, we let you build RN from source
|
|
||||||
// Otherwise we fallback to a prebuilt .aar bundled in the NPM package.
|
|
||||||
// This will be applied to all the imported transtitive dependency.
|
|
||||||
configurations.all {
|
|
||||||
resolutionStrategy.dependencySubstitution {
|
|
||||||
substitute(module("com.facebook.react:react-native"))
|
|
||||||
.using(project(":ReactAndroid")).because("On New Architecture we're building React Native from source")
|
|
||||||
substitute(module("com.facebook.react:hermes-engine"))
|
|
||||||
.using(project(":ReactAndroid:hermes-engine"))
|
|
||||||
.because("On New Architecture we're building Hermes from source")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Run this once to be able to run the application with BUCK
|
|
||||||
// puts all compile dependencies into folder libs for BUCK to use
|
|
||||||
task copyDownloadableDepsToLibs(type: Copy) {
|
|
||||||
from configurations.implementation
|
|
||||||
into 'libs'
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
task deleteFiles(type: Delete) {
|
task deleteFiles(type: Delete) {
|
||||||
delete './src/main/assets/static'
|
delete './src/main/assets/static'
|
||||||
@@ -388,12 +239,5 @@ apply from: "../../../node_modules/react-native-vector-icons/fonts.gradle"
|
|||||||
|
|
||||||
apply from: file("../../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project)
|
apply from: file("../../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesAppBuildGradle(project)
|
||||||
|
|
||||||
def isNewArchitectureEnabled() {
|
|
||||||
// To opt-in for the New Architecture, you can either:
|
|
||||||
// - Set `newArchEnabled` to true inside the `gradle.properties` file
|
|
||||||
// - Invoke gradle with `-newArchEnabled=true`
|
|
||||||
// - Set an environment variable `ORG_GRADLE_PROJECT_newArchEnabled=true`
|
|
||||||
return project.hasProperty("newArchEnabled") && project.newArchEnabled == "true"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -17,7 +17,6 @@ import com.facebook.flipper.plugins.inspector.DescriptorMapping;
|
|||||||
import com.facebook.flipper.plugins.inspector.InspectorFlipperPlugin;
|
import com.facebook.flipper.plugins.inspector.InspectorFlipperPlugin;
|
||||||
import com.facebook.flipper.plugins.network.FlipperOkhttpInterceptor;
|
import com.facebook.flipper.plugins.network.FlipperOkhttpInterceptor;
|
||||||
import com.facebook.flipper.plugins.network.NetworkFlipperPlugin;
|
import com.facebook.flipper.plugins.network.NetworkFlipperPlugin;
|
||||||
import com.facebook.flipper.plugins.react.ReactFlipperPlugin;
|
|
||||||
import com.facebook.flipper.plugins.sharedpreferences.SharedPreferencesFlipperPlugin;
|
import com.facebook.flipper.plugins.sharedpreferences.SharedPreferencesFlipperPlugin;
|
||||||
import com.facebook.react.ReactInstanceEventListener;
|
import com.facebook.react.ReactInstanceEventListener;
|
||||||
import com.facebook.react.ReactInstanceManager;
|
import com.facebook.react.ReactInstanceManager;
|
||||||
@@ -31,7 +30,6 @@ public class ReactNativeFlipper {
|
|||||||
final FlipperClient client = AndroidFlipperClient.getInstance(context);
|
final FlipperClient client = AndroidFlipperClient.getInstance(context);
|
||||||
|
|
||||||
client.addPlugin(new InspectorFlipperPlugin(context, DescriptorMapping.withDefaults()));
|
client.addPlugin(new InspectorFlipperPlugin(context, DescriptorMapping.withDefaults()));
|
||||||
client.addPlugin(new ReactFlipperPlugin());
|
|
||||||
client.addPlugin(new DatabasesFlipperPlugin(context));
|
client.addPlugin(new DatabasesFlipperPlugin(context));
|
||||||
client.addPlugin(new SharedPreferencesFlipperPlugin(context));
|
client.addPlugin(new SharedPreferencesFlipperPlugin(context));
|
||||||
client.addPlugin(CrashReporterPlugin.getInstance());
|
client.addPlugin(CrashReporterPlugin.getInstance());
|
||||||
@@ -1,23 +1,23 @@
|
|||||||
package com.streetwriters.notesnook;
|
package com.streetwriters.notesnook;
|
||||||
|
|
||||||
import com.facebook.react.ReactActivity;
|
import com.facebook.react.ReactActivity;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.res.Configuration;
|
import android.content.res.Configuration;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.webkit.WebView;
|
import android.webkit.WebView;
|
||||||
import com.facebook.react.ReactActivityDelegate;
|
import com.facebook.react.ReactActivityDelegate;
|
||||||
import com.zoontek.rnbootsplash.RNBootSplash;
|
import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint;
|
||||||
import com.facebook.react.ReactActivityDelegate;
|
import com.facebook.react.defaults.DefaultReactActivityDelegate;
|
||||||
import com.facebook.react.ReactRootView;
|
import com.zoontek.rnbootsplash.RNBootSplash;
|
||||||
|
|
||||||
public class MainActivity extends ReactActivity {
|
public class MainActivity extends ReactActivity {
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
|
RNBootSplash.init(this);
|
||||||
super.onCreate(null);
|
super.onCreate(null);
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT && BuildConfig.DEBUG) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT && BuildConfig.DEBUG) {
|
||||||
WebView.setWebContentsDebuggingEnabled(true);
|
WebView.setWebContentsDebuggingEnabled(true);
|
||||||
}
|
}
|
||||||
@@ -30,42 +30,19 @@ public class MainActivity extends ReactActivity {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the instance of the {@link ReactActivityDelegate}. There the RootView is created and
|
* Returns the instance of the {@link ReactActivityDelegate}. Here we use a util class {@link
|
||||||
* you can specify the rendered you wish to use (Fabric or the older renderer).
|
* DefaultReactActivityDelegate} which allows you to easily enable Fabric and Concurrent React
|
||||||
|
* (aka React 18) with two boolean flags.
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected ReactActivityDelegate createReactActivityDelegate() {
|
protected ReactActivityDelegate createReactActivityDelegate() {
|
||||||
return new MainActivityDelegate(this, getMainComponentName());
|
return new DefaultReactActivityDelegate(
|
||||||
|
this,
|
||||||
|
getMainComponentName(),
|
||||||
|
DefaultNewArchitectureEntryPoint.getFabricEnabled());
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class MainActivityDelegate extends ReactActivityDelegate {
|
|
||||||
public MainActivityDelegate(ReactActivity activity, String mainComponentName) {
|
|
||||||
super(activity, mainComponentName);
|
|
||||||
}
|
|
||||||
@Override
|
|
||||||
protected ReactRootView createRootView() {
|
|
||||||
ReactRootView reactRootView = new ReactRootView(getContext());
|
|
||||||
// If you opted-in for the New Architecture, we enable the Fabric Renderer.
|
|
||||||
reactRootView.setIsFabric(BuildConfig.IS_NEW_ARCHITECTURE_ENABLED);
|
|
||||||
return reactRootView;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected boolean isConcurrentRootEnabled() {
|
|
||||||
// If you opted-in for the New Architecture, we enable Concurrent Root (i.e. React 18).
|
|
||||||
// More on this on https://reactjs.org/blog/2022/03/29/react-v18.html
|
|
||||||
return BuildConfig.IS_NEW_ARCHITECTURE_ENABLED;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected void loadApp(String appKey) {
|
|
||||||
RNBootSplash.init(getPlainActivity());
|
|
||||||
super.loadApp(appKey);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onNewIntent(Intent intent) {
|
public void onNewIntent(Intent intent) {
|
||||||
super.onNewIntent(intent);
|
super.onNewIntent(intent);
|
||||||
@@ -91,5 +68,5 @@ public void onConfigurationChanged(Configuration newConfig) {
|
|||||||
public void invokeDefaultOnBackPressed() {
|
public void invokeDefaultOnBackPressed() {
|
||||||
moveTaskToBack(true);
|
moveTaskToBack(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,117 +1,32 @@
|
|||||||
package com.streetwriters.notesnook;
|
package com.streetwriters.notesnook;
|
||||||
|
|
||||||
import android.app.Application;
|
|
||||||
import android.content.Context;
|
|
||||||
import android.util.Log;
|
|
||||||
|
|
||||||
import com.facebook.react.PackageList;
|
import com.facebook.react.PackageList;
|
||||||
import com.facebook.react.ReactApplication;
|
import com.facebook.react.ReactApplication;
|
||||||
import com.facebook.react.ReactInstanceManager;
|
|
||||||
import com.facebook.react.ReactNativeHost;
|
import com.facebook.react.ReactNativeHost;
|
||||||
import com.facebook.react.ReactPackage;
|
import com.facebook.react.ReactPackage;
|
||||||
import com.facebook.soloader.SoLoader;
|
import com.facebook.soloader.SoLoader;
|
||||||
|
|
||||||
import java.lang.reflect.InvocationTargetException;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
import androidx.multidex.MultiDexApplication;
|
import androidx.multidex.MultiDexApplication;
|
||||||
|
|
||||||
import com.facebook.react.bridge.JavaScriptExecutorFactory;
|
import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint;
|
||||||
//import com.facebook.react.modules.systeminfo.AndroidInfoHelpers;
|
import com.facebook.react.defaults.DefaultReactNativeHost;
|
||||||
import com.facebook.react.TurboReactPackage;
|
|
||||||
import com.facebook.react.module.model.ReactModuleInfo;
|
|
||||||
import com.facebook.react.module.model.ReactModuleInfoProvider;
|
|
||||||
import com.facebook.react.bridge.NativeModule;
|
|
||||||
import com.facebook.react.bridge.ReactApplicationContext;
|
|
||||||
import com.onibenjo.htmltopdf.RNHTMLtoPDFModule;
|
|
||||||
import com.reactnativedocumentpicker.DocumentPickerModule;
|
|
||||||
import com.vinzscam.reactnativefileviewer.RNFileViewerModule;
|
|
||||||
import com.facebook.react.config.ReactFeatureFlags;
|
|
||||||
import com.streetwriters.notesnook.newarchitecture.MainApplicationReactNativeHost;
|
|
||||||
|
|
||||||
import cl.json.RNShareModule;
|
|
||||||
import px.tooltips.RNTooltipsModule;
|
|
||||||
//import io.csie.kudo.reactnative.v8.executor.V8ExecutorFactory;
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
|
|
||||||
public class MainApplication extends MultiDexApplication implements ReactApplication {
|
public class MainApplication extends MultiDexApplication implements ReactApplication {
|
||||||
|
|
||||||
private final ReactNativeHost mNewArchitectureNativeHost =
|
|
||||||
new MainApplicationReactNativeHost(this);
|
|
||||||
|
|
||||||
private final ReactNativeHost mReactNativeHost =
|
private final ReactNativeHost mReactNativeHost =
|
||||||
new ReactNativeHost(this) {
|
new DefaultReactNativeHost(this) {
|
||||||
@Override
|
@Override
|
||||||
public boolean getUseDeveloperSupport() {
|
public boolean getUseDeveloperSupport() {
|
||||||
return BuildConfig.DEBUG;
|
return BuildConfig.DEBUG;
|
||||||
}
|
}
|
||||||
|
|
||||||
// @Nullable
|
|
||||||
// @Override
|
|
||||||
// protected String getBundleAssetName() {
|
|
||||||
// final String v8BundleAssetName = V8ExecutorFactory.getBundleAssetName(getApplicationContext(), getUseDeveloperSupport());
|
|
||||||
// if (v8BundleAssetName != null) {
|
|
||||||
// return v8BundleAssetName;
|
|
||||||
// }
|
|
||||||
// return super.getBundleAssetName();
|
|
||||||
// }
|
|
||||||
|
|
||||||
// @Override
|
|
||||||
// protected JavaScriptExecutorFactory getJavaScriptExecutorFactory() {
|
|
||||||
// return new V8ExecutorFactory(
|
|
||||||
// getApplicationContext(),
|
|
||||||
// getPackageName(),
|
|
||||||
// AndroidInfoHelpers.getFriendlyDeviceName(),
|
|
||||||
// getUseDeveloperSupport());
|
|
||||||
// }
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected List<ReactPackage> getPackages() {
|
protected List<ReactPackage> getPackages() {
|
||||||
|
@SuppressWarnings("UnnecessaryLocalVariable")
|
||||||
List<ReactPackage> packages = new PackageList(this).getPackages();
|
List<ReactPackage> packages = new PackageList(this).getPackages();
|
||||||
packages.add(new TurboReactPackage() {
|
packages.add(new NNativeModulePackage());
|
||||||
@Override
|
|
||||||
public NativeModule getModule(String name, ReactApplicationContext reactContext) {
|
|
||||||
|
|
||||||
switch (name) {
|
|
||||||
case "NNativeModule":
|
|
||||||
return new RCTNNativeModule(reactContext);
|
|
||||||
case "RNTooltips":
|
|
||||||
return new RNTooltipsModule(reactContext);
|
|
||||||
case "RNHTMLtoPDF":
|
|
||||||
return new RNHTMLtoPDFModule(reactContext);
|
|
||||||
case "RNFileViewer":
|
|
||||||
return new RNFileViewerModule(reactContext);
|
|
||||||
case "RNDocumentPicker":
|
|
||||||
return new DocumentPickerModule(reactContext);
|
|
||||||
case "RNShare":
|
|
||||||
return new RNShareModule(reactContext);
|
|
||||||
default:
|
|
||||||
throw new IllegalArgumentException("Could not find module $name");
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public ReactModuleInfoProvider getReactModuleInfoProvider() {
|
|
||||||
|
|
||||||
return new ReactModuleInfoProvider() {
|
|
||||||
@Override
|
|
||||||
public Map<String, ReactModuleInfo> getReactModuleInfos() {
|
|
||||||
Map<String, ReactModuleInfo> map = new HashMap<String, ReactModuleInfo>();
|
|
||||||
map.put("NNativeModule", getModuleInfo("NNativeModule", "com.streetwriters.notesnook.NNativeModule"));
|
|
||||||
map.put("RNTooltips", getModuleInfo("RNTooltips", "px.tooltips.RNTooltipsModule"));
|
|
||||||
map.put("RNHTMLtoPDF", getModuleInfo("RNHTMLtoPDF", "com.onibenjo.htmltopdf.RNHTMLtoPDFModule"));
|
|
||||||
map.put("RNFileViewer", getModuleInfo("RNFileViewer", "com.vinzscam.reactnativefileviewer.RNFileViewerModule"));
|
|
||||||
map.put("RNDocumentPicker", getModuleInfo("RNDocumentPicker", "io.github.elyx0.reactnativedocumentpicker.DocumentPickerModule"));
|
|
||||||
map.put("RNShare", getModuleInfo("RNShare", "cl.json.RNShareModule"));
|
|
||||||
return map;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return packages;
|
return packages;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -119,60 +34,32 @@ public class MainApplication extends MultiDexApplication implements ReactApplica
|
|||||||
protected String getJSMainModuleName() {
|
protected String getJSMainModuleName() {
|
||||||
return "index";
|
return "index";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected boolean isNewArchEnabled() {
|
||||||
|
return BuildConfig.IS_NEW_ARCHITECTURE_ENABLED;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Boolean isHermesEnabled() {
|
||||||
|
return BuildConfig.IS_HERMES_ENABLED;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
* Loads Flipper in React Native templates. Call this in the onCreate method with something like
|
|
||||||
* initializeFlipper(this, getReactNativeHost().getReactInstanceManager());
|
|
||||||
*
|
|
||||||
* @param context
|
|
||||||
* @param reactInstanceManager
|
|
||||||
*/
|
|
||||||
private static void initializeFlipper(
|
|
||||||
Context context, ReactInstanceManager reactInstanceManager) {
|
|
||||||
if (BuildConfig.DEBUG) {
|
|
||||||
try {
|
|
||||||
/*
|
|
||||||
We use reflection here to pick up the class that initializes Flipper,
|
|
||||||
since Flipper library is not available in release mode
|
|
||||||
*/
|
|
||||||
Class<?> aClass = Class.forName("com.streetwriters.notesnook.ReactNativeFlipper");
|
|
||||||
aClass
|
|
||||||
.getMethod("initializeFlipper", Context.class, ReactInstanceManager.class)
|
|
||||||
.invoke(null, context, reactInstanceManager);
|
|
||||||
} catch (ClassNotFoundException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
} catch (NoSuchMethodException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
} catch (IllegalAccessException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
} catch (InvocationTargetException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public ReactModuleInfo getModuleInfo(String reactClass, String className) {
|
|
||||||
|
|
||||||
return new ReactModuleInfo(reactClass, className, true, false, false, false, true);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ReactNativeHost getReactNativeHost() {
|
public ReactNativeHost getReactNativeHost() {
|
||||||
if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) {
|
return mReactNativeHost;
|
||||||
return mNewArchitectureNativeHost;
|
|
||||||
} else {
|
|
||||||
return mReactNativeHost;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onCreate() {
|
public void onCreate() {
|
||||||
super.onCreate();
|
super.onCreate();
|
||||||
// If you opted-in for the New Architecture, we enable the TurboModule system
|
|
||||||
ReactFeatureFlags.useTurboModules = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED;
|
|
||||||
SoLoader.init(this, /* native exopackage */ false);
|
SoLoader.init(this, /* native exopackage */ false);
|
||||||
initializeFlipper(this, getReactNativeHost().getReactInstanceManager());
|
|
||||||
|
if (BuildConfig.IS_NEW_ARCHITECTURE_ENABLED) {
|
||||||
|
// If you opted-in for the New Architecture, we load the native entry point for this app.
|
||||||
|
DefaultNewArchitectureEntryPoint.load();
|
||||||
|
}
|
||||||
|
com.streetwriters.notesnook.ReactNativeFlipper.initializeFlipper(this, getReactNativeHost().getReactInstanceManager());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,7 +3,8 @@ import android.app.Service;
|
|||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.os.IBinder;
|
import android.os.IBinder;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import com.tencent.mmkv.MMKV;
|
|
||||||
|
import com.ammarahmed.mmkv.MMKV;
|
||||||
|
|
||||||
public class OnClearFromRecentService extends Service {
|
public class OnClearFromRecentService extends Service {
|
||||||
|
|
||||||
@@ -33,7 +34,6 @@ public class OnClearFromRecentService extends Service {
|
|||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//System.exit(0);
|
//System.exit(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -9,7 +9,6 @@ import com.facebook.react.bridge.ReactContext;
|
|||||||
import com.facebook.react.bridge.ReactContextBaseJavaModule;
|
import com.facebook.react.bridge.ReactContextBaseJavaModule;
|
||||||
import com.facebook.react.bridge.ReactApplicationContext;
|
import com.facebook.react.bridge.ReactApplicationContext;
|
||||||
import com.facebook.react.bridge.ReactMethod;
|
import com.facebook.react.bridge.ReactMethod;
|
||||||
;
|
|
||||||
|
|
||||||
|
|
||||||
public class RCTNNativeModule extends ReactContextBaseJavaModule {
|
public class RCTNNativeModule extends ReactContextBaseJavaModule {
|
||||||
|
|||||||
@@ -1,38 +1,29 @@
|
|||||||
package com.streetwriters.notesnook;
|
package com.streetwriters.notesnook;
|
||||||
|
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import com.facebook.react.ReactActivity;
|
import com.facebook.react.ReactActivity;
|
||||||
import com.facebook.react.ReactActivityDelegate;
|
import com.facebook.react.ReactActivityDelegate;
|
||||||
import com.facebook.react.ReactRootView;
|
import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint;
|
||||||
|
import com.facebook.react.defaults.DefaultReactActivityDelegate;
|
||||||
|
|
||||||
public class ShareActivity extends ReactActivity {
|
public class ShareActivity extends ReactActivity {
|
||||||
|
|
||||||
public static class ShareActivityDelegate extends ReactActivityDelegate {
|
|
||||||
public ShareActivityDelegate(ReactActivity activity, String mainComponentName) {
|
|
||||||
super(activity, mainComponentName);
|
|
||||||
}
|
|
||||||
@Override
|
|
||||||
protected ReactRootView createRootView() {
|
|
||||||
ReactRootView reactRootView = new ReactRootView(getContext());
|
|
||||||
// If you opted-in for the New Architecture, we enable the Fabric Renderer.
|
|
||||||
reactRootView.setIsFabric(BuildConfig.IS_NEW_ARCHITECTURE_ENABLED);
|
|
||||||
return reactRootView;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected boolean isConcurrentRootEnabled() {
|
|
||||||
// If you opted-in for the New Architecture, we enable Concurrent Root (i.e. React 18).
|
|
||||||
// More on this on https://reactjs.org/blog/2022/03/29/react-v18.html
|
|
||||||
return BuildConfig.IS_NEW_ARCHITECTURE_ENABLED;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the instance of the {@link ReactActivityDelegate}. There the RootView is created and
|
* Returns the instance of the {@link ReactActivityDelegate}. Here we use a util class {@link
|
||||||
* you can specify the rendered you wish to use (Fabric or the older renderer).
|
* DefaultReactActivityDelegate} which allows you to easily enable Fabric and Concurrent React
|
||||||
|
* (aka React 18) with two boolean flags.
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected ReactActivityDelegate createReactActivityDelegate() {
|
protected ReactActivityDelegate createReactActivityDelegate() {
|
||||||
return new ShareActivity.ShareActivityDelegate(this, getMainComponentName());
|
return new DefaultReactActivityDelegate(
|
||||||
|
this,
|
||||||
|
getMainComponentName(),
|
||||||
|
// If you opted-in for the New Architecture, we enable the Fabric Renderer.
|
||||||
|
DefaultNewArchitectureEntryPoint.getFabricEnabled(), // fabricEnabled
|
||||||
|
// If you opted-in for the New Architecture, we enable Concurrent React (i.e. React 18).
|
||||||
|
DefaultNewArchitectureEntryPoint.getConcurrentReactEnabled() // concurrentRootEnabled
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -1,116 +0,0 @@
|
|||||||
package com.streetwriters.notesnook.newarchitecture;
|
|
||||||
|
|
||||||
import android.app.Application;
|
|
||||||
import androidx.annotation.NonNull;
|
|
||||||
import com.facebook.react.PackageList;
|
|
||||||
import com.facebook.react.ReactInstanceManager;
|
|
||||||
import com.facebook.react.ReactNativeHost;
|
|
||||||
import com.facebook.react.ReactPackage;
|
|
||||||
import com.facebook.react.ReactPackageTurboModuleManagerDelegate;
|
|
||||||
import com.facebook.react.bridge.JSIModulePackage;
|
|
||||||
import com.facebook.react.bridge.JSIModuleProvider;
|
|
||||||
import com.facebook.react.bridge.JSIModuleSpec;
|
|
||||||
import com.facebook.react.bridge.JSIModuleType;
|
|
||||||
import com.facebook.react.bridge.JavaScriptContextHolder;
|
|
||||||
import com.facebook.react.bridge.ReactApplicationContext;
|
|
||||||
import com.facebook.react.bridge.UIManager;
|
|
||||||
import com.facebook.react.fabric.ComponentFactory;
|
|
||||||
import com.facebook.react.fabric.CoreComponentsRegistry;
|
|
||||||
import com.facebook.react.fabric.FabricJSIModuleProvider;
|
|
||||||
import com.facebook.react.uimanager.ViewManagerRegistry;
|
|
||||||
import com.streetwriters.notesnook.BuildConfig;
|
|
||||||
import com.streetwriters.notesnook.newarchitecture.components.MainComponentsRegistry;
|
|
||||||
import com.streetwriters.notesnook.newarchitecture.modules.MainApplicationTurboModuleManagerDelegate;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
import com.facebook.react.fabric.ReactNativeConfig;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* A {@link ReactNativeHost} that helps you load everything needed for the New Architecture, both
|
|
||||||
* TurboModule delegates and the Fabric Renderer.
|
|
||||||
*
|
|
||||||
* <p>Please note that this class is used ONLY if you opt-in for the New Architecture (see the
|
|
||||||
* `newArchEnabled` property). Is ignored otherwise.
|
|
||||||
*/
|
|
||||||
public class MainApplicationReactNativeHost extends ReactNativeHost {
|
|
||||||
public MainApplicationReactNativeHost(Application application) {
|
|
||||||
super(application);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean getUseDeveloperSupport() {
|
|
||||||
return BuildConfig.DEBUG;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected List<ReactPackage> getPackages() {
|
|
||||||
List<ReactPackage> packages = new PackageList(this).getPackages();
|
|
||||||
// Packages that cannot be autolinked yet can be added manually here, for example:
|
|
||||||
// packages.add(new MyReactNativePackage());
|
|
||||||
// TurboModules must also be loaded here providing a valid TurboReactPackage implementation:
|
|
||||||
// packages.add(new TurboReactPackage() { ... });
|
|
||||||
// If you have custom Fabric Components, their ViewManagers should also be loaded here
|
|
||||||
// inside a ReactPackage.
|
|
||||||
return packages;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected String getJSMainModuleName() {
|
|
||||||
return "index";
|
|
||||||
}
|
|
||||||
|
|
||||||
@NonNull
|
|
||||||
@Override
|
|
||||||
protected ReactPackageTurboModuleManagerDelegate.Builder
|
|
||||||
getReactPackageTurboModuleManagerDelegateBuilder() {
|
|
||||||
// Here we provide the ReactPackageTurboModuleManagerDelegate Builder. This is necessary
|
|
||||||
// for the new architecture and to use TurboModules correctly.
|
|
||||||
return new MainApplicationTurboModuleManagerDelegate.Builder();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected JSIModulePackage getJSIModulePackage() {
|
|
||||||
return new JSIModulePackage() {
|
|
||||||
@Override
|
|
||||||
public List<JSIModuleSpec> getJSIModules(
|
|
||||||
final ReactApplicationContext reactApplicationContext,
|
|
||||||
final JavaScriptContextHolder jsContext) {
|
|
||||||
final List<JSIModuleSpec> specs = new ArrayList<>();
|
|
||||||
|
|
||||||
// Here we provide a new JSIModuleSpec that will be responsible of providing the
|
|
||||||
// custom Fabric Components.
|
|
||||||
specs.add(
|
|
||||||
new JSIModuleSpec() {
|
|
||||||
@Override
|
|
||||||
public JSIModuleType getJSIModuleType() {
|
|
||||||
return JSIModuleType.UIManager;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public JSIModuleProvider<UIManager> getJSIModuleProvider() {
|
|
||||||
final ComponentFactory componentFactory = new ComponentFactory();
|
|
||||||
CoreComponentsRegistry.register(componentFactory);
|
|
||||||
|
|
||||||
// Here we register a Components Registry.
|
|
||||||
// The one that is generated with the template contains no components
|
|
||||||
// and just provides you the one from React Native core.
|
|
||||||
MainComponentsRegistry.register(componentFactory);
|
|
||||||
|
|
||||||
final ReactInstanceManager reactInstanceManager = getReactInstanceManager();
|
|
||||||
|
|
||||||
ViewManagerRegistry viewManagerRegistry =
|
|
||||||
new ViewManagerRegistry(
|
|
||||||
reactInstanceManager.getOrCreateViewManagers(reactApplicationContext));
|
|
||||||
|
|
||||||
return new FabricJSIModuleProvider(
|
|
||||||
reactApplicationContext,
|
|
||||||
componentFactory,
|
|
||||||
ReactNativeConfig.DEFAULT_CONFIG,
|
|
||||||
viewManagerRegistry);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return specs;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,36 +0,0 @@
|
|||||||
package com.streetwriters.notesnook.newarchitecture.components;
|
|
||||||
|
|
||||||
import com.facebook.jni.HybridData;
|
|
||||||
import com.facebook.proguard.annotations.DoNotStrip;
|
|
||||||
import com.facebook.react.fabric.ComponentFactory;
|
|
||||||
import com.facebook.soloader.SoLoader;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Class responsible to load the custom Fabric Components. This class has native methods and needs a
|
|
||||||
* corresponding C++ implementation/header file to work correctly (already placed inside the jni/
|
|
||||||
* folder for you).
|
|
||||||
*
|
|
||||||
* <p>Please note that this class is used ONLY if you opt-in for the New Architecture (see the
|
|
||||||
* `newArchEnabled` property). Is ignored otherwise.
|
|
||||||
*/
|
|
||||||
@DoNotStrip
|
|
||||||
public class MainComponentsRegistry {
|
|
||||||
static {
|
|
||||||
SoLoader.loadLibrary("fabricjni");
|
|
||||||
}
|
|
||||||
|
|
||||||
@DoNotStrip private final HybridData mHybridData;
|
|
||||||
|
|
||||||
@DoNotStrip
|
|
||||||
private native HybridData initHybrid(ComponentFactory componentFactory);
|
|
||||||
|
|
||||||
@DoNotStrip
|
|
||||||
private MainComponentsRegistry(ComponentFactory componentFactory) {
|
|
||||||
mHybridData = initHybrid(componentFactory);
|
|
||||||
}
|
|
||||||
|
|
||||||
@DoNotStrip
|
|
||||||
public static MainComponentsRegistry register(ComponentFactory componentFactory) {
|
|
||||||
return new MainComponentsRegistry(componentFactory);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
package com.streetwriters.notesnook.newarchitecture.modules;
|
|
||||||
|
|
||||||
import com.facebook.jni.HybridData;
|
|
||||||
import com.facebook.react.ReactPackage;
|
|
||||||
import com.facebook.react.ReactPackageTurboModuleManagerDelegate;
|
|
||||||
import com.facebook.react.bridge.ReactApplicationContext;
|
|
||||||
import com.facebook.soloader.SoLoader;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Class responsible to load the TurboModules. This class has native methods and needs a
|
|
||||||
* corresponding C++ implementation/header file to work correctly (already placed inside the jni/
|
|
||||||
* folder for you).
|
|
||||||
*
|
|
||||||
* <p>Please note that this class is used ONLY if you opt-in for the New Architecture (see the
|
|
||||||
* `newArchEnabled` property). Is ignored otherwise.
|
|
||||||
*/
|
|
||||||
public class MainApplicationTurboModuleManagerDelegate
|
|
||||||
extends ReactPackageTurboModuleManagerDelegate {
|
|
||||||
|
|
||||||
private static volatile boolean sIsSoLibraryLoaded;
|
|
||||||
|
|
||||||
protected MainApplicationTurboModuleManagerDelegate(
|
|
||||||
ReactApplicationContext reactApplicationContext, List<ReactPackage> packages) {
|
|
||||||
super(reactApplicationContext, packages);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected native HybridData initHybrid();
|
|
||||||
|
|
||||||
native boolean canCreateTurboModule(String moduleName);
|
|
||||||
|
|
||||||
public static class Builder extends ReactPackageTurboModuleManagerDelegate.Builder {
|
|
||||||
protected MainApplicationTurboModuleManagerDelegate build(
|
|
||||||
ReactApplicationContext context, List<ReactPackage> packages) {
|
|
||||||
return new MainApplicationTurboModuleManagerDelegate(context, packages);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
protected synchronized void maybeLoadOtherSoLibraries() {
|
|
||||||
if (!sIsSoLibraryLoaded) {
|
|
||||||
// If you change the name of your application .so file in the Android.mk file,
|
|
||||||
// make sure you update the name here as well.
|
|
||||||
SoLoader.loadLibrary("rndiffapp_appmodules");
|
|
||||||
sIsSoLibraryLoaded = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,48 +0,0 @@
|
|||||||
THIS_DIR := $(call my-dir)
|
|
||||||
|
|
||||||
include $(REACT_ANDROID_DIR)/Android-prebuilt.mk
|
|
||||||
|
|
||||||
# If you wish to add a custom TurboModule or Fabric component in your app you
|
|
||||||
# will have to include the following autogenerated makefile.
|
|
||||||
# include $(GENERATED_SRC_DIR)/codegen/jni/Android.mk
|
|
||||||
include $(CLEAR_VARS)
|
|
||||||
|
|
||||||
LOCAL_PATH := $(THIS_DIR)
|
|
||||||
|
|
||||||
# You can customize the name of your application .so file here.
|
|
||||||
LOCAL_MODULE := notesnook_appmodules
|
|
||||||
|
|
||||||
LOCAL_C_INCLUDES := $(LOCAL_PATH)
|
|
||||||
LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/*.cpp)
|
|
||||||
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)
|
|
||||||
|
|
||||||
# If you wish to add a custom TurboModule or Fabric component in your app you
|
|
||||||
# will have to uncomment those lines to include the generated source
|
|
||||||
# files from the codegen (placed in $(GENERATED_SRC_DIR)/codegen/jni)
|
|
||||||
#
|
|
||||||
# LOCAL_C_INCLUDES += $(GENERATED_SRC_DIR)/codegen/jni
|
|
||||||
# LOCAL_SRC_FILES += $(wildcard $(GENERATED_SRC_DIR)/codegen/jni/*.cpp)
|
|
||||||
# LOCAL_EXPORT_C_INCLUDES += $(GENERATED_SRC_DIR)/codegen/jni
|
|
||||||
|
|
||||||
# Here you should add any native library you wish to depend on.
|
|
||||||
LOCAL_SHARED_LIBRARIES := \
|
|
||||||
libfabricjni \
|
|
||||||
libfbjni \
|
|
||||||
libfolly_runtime \
|
|
||||||
libglog \
|
|
||||||
libjsi \
|
|
||||||
libreact_codegen_rncore \
|
|
||||||
libreact_debug \
|
|
||||||
libreact_nativemodule_core \
|
|
||||||
libreact_render_componentregistry \
|
|
||||||
libreact_render_core \
|
|
||||||
libreact_render_debug \
|
|
||||||
libreact_render_graphics \
|
|
||||||
librrc_view \
|
|
||||||
libruntimeexecutor \
|
|
||||||
libturbomodulejsijni \
|
|
||||||
libyoga
|
|
||||||
|
|
||||||
LOCAL_CFLAGS := -DLOG_TAG=\"ReactNative\" -fexceptions -frtti -std=c++17 -Wall
|
|
||||||
|
|
||||||
include $(BUILD_SHARED_LIBRARY)
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
#include "MainApplicationModuleProvider.h"
|
|
||||||
|
|
||||||
#include <rncore.h>
|
|
||||||
|
|
||||||
namespace facebook {
|
|
||||||
namespace react {
|
|
||||||
|
|
||||||
std::shared_ptr<TurboModule> MainApplicationModuleProvider(
|
|
||||||
const std::string moduleName,
|
|
||||||
const JavaTurboModule::InitParams ¶ms) {
|
|
||||||
// Here you can provide your own module provider for TurboModules coming from
|
|
||||||
// either your application or from external libraries. The approach to follow
|
|
||||||
// is similar to the following (for a library called `samplelibrary`:
|
|
||||||
//
|
|
||||||
// auto module = samplelibrary_ModuleProvider(moduleName, params);
|
|
||||||
// if (module != nullptr) {
|
|
||||||
// return module;
|
|
||||||
// }
|
|
||||||
// return rncore_ModuleProvider(moduleName, params);
|
|
||||||
return rncore_ModuleProvider(moduleName, params);
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace react
|
|
||||||
} // namespace facebook
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
#pragma once
|
|
||||||
|
|
||||||
#include <memory>
|
|
||||||
#include <string>
|
|
||||||
|
|
||||||
#include <ReactCommon/JavaTurboModule.h>
|
|
||||||
|
|
||||||
namespace facebook {
|
|
||||||
namespace react {
|
|
||||||
|
|
||||||
std::shared_ptr<TurboModule> MainApplicationModuleProvider(
|
|
||||||
const std::string moduleName,
|
|
||||||
const JavaTurboModule::InitParams ¶ms);
|
|
||||||
|
|
||||||
} // namespace react
|
|
||||||
} // namespace facebook
|
|
||||||
@@ -1,45 +0,0 @@
|
|||||||
#include "MainApplicationTurboModuleManagerDelegate.h"
|
|
||||||
#include "MainApplicationModuleProvider.h"
|
|
||||||
|
|
||||||
namespace facebook {
|
|
||||||
namespace react {
|
|
||||||
|
|
||||||
jni::local_ref<MainApplicationTurboModuleManagerDelegate::jhybriddata>
|
|
||||||
MainApplicationTurboModuleManagerDelegate::initHybrid(
|
|
||||||
jni::alias_ref<jhybridobject>) {
|
|
||||||
return makeCxxInstance();
|
|
||||||
}
|
|
||||||
|
|
||||||
void MainApplicationTurboModuleManagerDelegate::registerNatives() {
|
|
||||||
registerHybrid({
|
|
||||||
makeNativeMethod(
|
|
||||||
"initHybrid", MainApplicationTurboModuleManagerDelegate::initHybrid),
|
|
||||||
makeNativeMethod(
|
|
||||||
"canCreateTurboModule",
|
|
||||||
MainApplicationTurboModuleManagerDelegate::canCreateTurboModule),
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
std::shared_ptr<TurboModule>
|
|
||||||
MainApplicationTurboModuleManagerDelegate::getTurboModule(
|
|
||||||
const std::string name,
|
|
||||||
const std::shared_ptr<CallInvoker> jsInvoker) {
|
|
||||||
// Not implemented yet: provide pure-C++ NativeModules here.
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
std::shared_ptr<TurboModule>
|
|
||||||
MainApplicationTurboModuleManagerDelegate::getTurboModule(
|
|
||||||
const std::string name,
|
|
||||||
const JavaTurboModule::InitParams ¶ms) {
|
|
||||||
return MainApplicationModuleProvider(name, params);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool MainApplicationTurboModuleManagerDelegate::canCreateTurboModule(
|
|
||||||
std::string name) {
|
|
||||||
return getTurboModule(name, nullptr) != nullptr ||
|
|
||||||
getTurboModule(name, {.moduleName = name}) != nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace react
|
|
||||||
} // namespace facebook
|
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
#include <memory>
|
|
||||||
#include <string>
|
|
||||||
|
|
||||||
#include <ReactCommon/TurboModuleManagerDelegate.h>
|
|
||||||
#include <fbjni/fbjni.h>
|
|
||||||
|
|
||||||
namespace facebook {
|
|
||||||
namespace react {
|
|
||||||
|
|
||||||
class MainApplicationTurboModuleManagerDelegate
|
|
||||||
: public jni::HybridClass<
|
|
||||||
MainApplicationTurboModuleManagerDelegate,
|
|
||||||
TurboModuleManagerDelegate> {
|
|
||||||
public:
|
|
||||||
// Adapt it to the package you used for your Java class.
|
|
||||||
static constexpr auto kJavaDescriptor =
|
|
||||||
"Lcom/rndiffapp/newarchitecture/modules/MainApplicationTurboModuleManagerDelegate;";
|
|
||||||
|
|
||||||
static jni::local_ref<jhybriddata> initHybrid(jni::alias_ref<jhybridobject>);
|
|
||||||
|
|
||||||
static void registerNatives();
|
|
||||||
|
|
||||||
std::shared_ptr<TurboModule> getTurboModule(
|
|
||||||
const std::string name,
|
|
||||||
const std::shared_ptr<CallInvoker> jsInvoker) override;
|
|
||||||
std::shared_ptr<TurboModule> getTurboModule(
|
|
||||||
const std::string name,
|
|
||||||
const JavaTurboModule::InitParams ¶ms) override;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Test-only method. Allows user to verify whether a TurboModule can be
|
|
||||||
* created by instances of this class.
|
|
||||||
*/
|
|
||||||
bool canCreateTurboModule(std::string name);
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace react
|
|
||||||
} // namespace facebook
|
|
||||||
@@ -1,61 +0,0 @@
|
|||||||
#include "MainComponentsRegistry.h"
|
|
||||||
|
|
||||||
#include <CoreComponentsRegistry.h>
|
|
||||||
#include <fbjni/fbjni.h>
|
|
||||||
#include <react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h>
|
|
||||||
#include <react/renderer/components/rncore/ComponentDescriptors.h>
|
|
||||||
|
|
||||||
namespace facebook {
|
|
||||||
namespace react {
|
|
||||||
|
|
||||||
MainComponentsRegistry::MainComponentsRegistry(ComponentFactory *delegate) {}
|
|
||||||
|
|
||||||
std::shared_ptr<ComponentDescriptorProviderRegistry const>
|
|
||||||
MainComponentsRegistry::sharedProviderRegistry() {
|
|
||||||
auto providerRegistry = CoreComponentsRegistry::sharedProviderRegistry();
|
|
||||||
|
|
||||||
// Custom Fabric Components go here. You can register custom
|
|
||||||
// components coming from your App or from 3rd party libraries here.
|
|
||||||
//
|
|
||||||
// providerRegistry->add(concreteComponentDescriptorProvider<
|
|
||||||
// AocViewerComponentDescriptor>());
|
|
||||||
return providerRegistry;
|
|
||||||
}
|
|
||||||
|
|
||||||
jni::local_ref<MainComponentsRegistry::jhybriddata>
|
|
||||||
MainComponentsRegistry::initHybrid(
|
|
||||||
jni::alias_ref<jclass>,
|
|
||||||
ComponentFactory *delegate) {
|
|
||||||
auto instance = makeCxxInstance(delegate);
|
|
||||||
|
|
||||||
auto buildRegistryFunction =
|
|
||||||
[](EventDispatcher::Weak const &eventDispatcher,
|
|
||||||
ContextContainer::Shared const &contextContainer)
|
|
||||||
-> ComponentDescriptorRegistry::Shared {
|
|
||||||
auto registry = MainComponentsRegistry::sharedProviderRegistry()
|
|
||||||
->createComponentDescriptorRegistry(
|
|
||||||
{eventDispatcher, contextContainer});
|
|
||||||
|
|
||||||
auto mutableRegistry =
|
|
||||||
std::const_pointer_cast<ComponentDescriptorRegistry>(registry);
|
|
||||||
|
|
||||||
mutableRegistry->setFallbackComponentDescriptor(
|
|
||||||
std::make_shared<UnimplementedNativeViewComponentDescriptor>(
|
|
||||||
ComponentDescriptorParameters{
|
|
||||||
eventDispatcher, contextContainer, nullptr}));
|
|
||||||
|
|
||||||
return registry;
|
|
||||||
};
|
|
||||||
|
|
||||||
delegate->buildRegistryFunction = buildRegistryFunction;
|
|
||||||
return instance;
|
|
||||||
}
|
|
||||||
|
|
||||||
void MainComponentsRegistry::registerNatives() {
|
|
||||||
registerHybrid({
|
|
||||||
makeNativeMethod("initHybrid", MainComponentsRegistry::initHybrid),
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace react
|
|
||||||
} // namespace facebook
|
|
||||||
@@ -1,32 +0,0 @@
|
|||||||
#pragma once
|
|
||||||
|
|
||||||
#include <ComponentFactory.h>
|
|
||||||
#include <fbjni/fbjni.h>
|
|
||||||
#include <react/renderer/componentregistry/ComponentDescriptorProviderRegistry.h>
|
|
||||||
#include <react/renderer/componentregistry/ComponentDescriptorRegistry.h>
|
|
||||||
|
|
||||||
namespace facebook {
|
|
||||||
namespace react {
|
|
||||||
|
|
||||||
class MainComponentsRegistry
|
|
||||||
: public facebook::jni::HybridClass<MainComponentsRegistry> {
|
|
||||||
public:
|
|
||||||
// Adapt it to the package you used for your Java class.
|
|
||||||
constexpr static auto kJavaDescriptor =
|
|
||||||
"Lcom/rndiffapp/newarchitecture/components/MainComponentsRegistry;";
|
|
||||||
|
|
||||||
static void registerNatives();
|
|
||||||
|
|
||||||
MainComponentsRegistry(ComponentFactory *delegate);
|
|
||||||
|
|
||||||
private:
|
|
||||||
static std::shared_ptr<ComponentDescriptorProviderRegistry const>
|
|
||||||
sharedProviderRegistry();
|
|
||||||
|
|
||||||
static jni::local_ref<jhybriddata> initHybrid(
|
|
||||||
jni::alias_ref<jclass>,
|
|
||||||
ComponentFactory *delegate);
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace react
|
|
||||||
} // namespace facebook
|
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
#include <fbjni/fbjni.h>
|
|
||||||
#include "MainApplicationTurboModuleManagerDelegate.h"
|
|
||||||
#include "MainComponentsRegistry.h"
|
|
||||||
|
|
||||||
JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *) {
|
|
||||||
return facebook::jni::initialize(vm, [] {
|
|
||||||
facebook::react::MainApplicationTurboModuleManagerDelegate::
|
|
||||||
registerNatives();
|
|
||||||
facebook::react::MainComponentsRegistry::registerNatives();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
|
|
||||||
<background android:drawable="@color/logo_dark_background"/>
|
|
||||||
<foreground android:drawable="@mipmap/logo_dark_foreground"/>
|
|
||||||
</adaptive-icon>
|
|
||||||
|
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 9.6 KiB |
|
Before Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 6.1 KiB |
|
Before Width: | Height: | Size: 797 B |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 3.4 KiB |
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<resources>
|
||||||
|
<color name="light_blue_50">#FFE1F5FE</color>
|
||||||
|
<color name="light_blue_200">#FF81D4FA</color>
|
||||||
|
<color name="light_blue_600">#FF039BE5</color>
|
||||||
|
<color name="light_blue_900">#FF01579B</color>
|
||||||
|
<color name="bootsplash_background">#1f1f1f</color>
|
||||||
|
</resources>
|
||||||
@@ -1,8 +1,39 @@
|
|||||||
<resources>
|
<resources>
|
||||||
<!-- BootTheme should inherit from Theme.SplashScreen -->
|
|
||||||
<style name="BootTheme" parent="Theme.SplashScreen">
|
<!-- Base application theme. -->
|
||||||
<item name="windowSplashScreenBackground">@color/bootsplash_background_dark</item>
|
<style name="AppTheme" parent="Theme.AppCompat.DayNight.NoActionBar">
|
||||||
<item name="windowSplashScreenAnimatedIcon">@mipmap/logo_dark</item>
|
<!-- Customize your theme here. -->
|
||||||
<item name="postSplashScreenTheme">@style/AppTheme</item>
|
<item name="android:windowDisablePreview">true</item>
|
||||||
</style>
|
<item name="android:editTextBackground">@drawable/edit_text</item>
|
||||||
</resources>
|
|
||||||
|
<item name="android:statusBarColor">@android:color/transparent</item>
|
||||||
|
<item name="android:datePickerDialogTheme">@style/DialogDatePicker.Theme</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="Share.Window" parent="Theme.AppCompat">
|
||||||
|
<item name="android:windowEnterAnimation">@null</item>
|
||||||
|
<item name="android:windowExitAnimation">@null</item>
|
||||||
|
<item name="android:editTextBackground">@drawable/edit_text</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<!-- BootTheme should inherit from Theme.SplashScreen -->
|
||||||
|
<style name="BootTheme" parent="Theme.SplashScreen">
|
||||||
|
<item name="windowSplashScreenBackground">@color/bootsplash_background</item>
|
||||||
|
<item name="windowSplashScreenAnimatedIcon">@mipmap/bootsplash_logo_dark</item>
|
||||||
|
<item name="postSplashScreenTheme">@style/AppTheme</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<!-- Base application theme. -->
|
||||||
|
|
||||||
|
<style name="AppThemeB" parent="Theme.AppCompat.DayNight.NoActionBar">
|
||||||
|
<item name="android:windowIsTranslucent">true</item>
|
||||||
|
<item name="android:windowBackground">@android:color/transparent</item>
|
||||||
|
<item name="android:windowIsFloating">true</item>
|
||||||
|
<item name="android:backgroundDimEnabled">true</item>
|
||||||
|
<item name="android:editTextBackground">@drawable/edit_text</item>
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style name="DialogDatePicker.Theme" parent="Theme.AppCompat.Light.Dialog">
|
||||||
|
<item name="colorAccent">#2b2b2b</item>
|
||||||
|
</style>
|
||||||
|
</resources>
|
||||||
|
|||||||
@@ -1,7 +0,0 @@
|
|||||||
<resources>
|
|
||||||
|
|
||||||
<style name="ThemeOverlay.Notesnook.AppWidgetContainer" parent="">
|
|
||||||
<item name="appWidgetBackgroundColor">@color/light_blue_900</item>
|
|
||||||
<item name="appWidgetTextColor">@color/light_blue_200</item>
|
|
||||||
</style>
|
|
||||||
</resources>
|
|
||||||
@@ -5,5 +5,4 @@
|
|||||||
<color name="light_blue_600">#FF039BE5</color>
|
<color name="light_blue_600">#FF039BE5</color>
|
||||||
<color name="light_blue_900">#FF01579B</color>
|
<color name="light_blue_900">#FF01579B</color>
|
||||||
<color name="bootsplash_background">#FFFFFF</color>
|
<color name="bootsplash_background">#FFFFFF</color>
|
||||||
<color name="bootsplash_background_dark">#1f1f1f</color>
|
|
||||||
</resources>
|
</resources>
|
||||||
@@ -1,4 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
|
||||||
<resources>
|
|
||||||
<color name="logo_dark_background">#1F1F1F</color>
|
|
||||||
</resources>
|
|
||||||
@@ -3,5 +3,4 @@
|
|||||||
<string name="title_activity_share">NotesnookShare</string>
|
<string name="title_activity_share">NotesnookShare</string>
|
||||||
<string name="appwidget_text">EXAMPLE</string>
|
<string name="appwidget_text">EXAMPLE</string>
|
||||||
<string name="add_widget">Add widget</string>
|
<string name="add_widget">Add widget</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
@@ -17,11 +17,11 @@
|
|||||||
</style>
|
</style>
|
||||||
|
|
||||||
<!-- BootTheme should inherit from Theme.SplashScreen -->
|
<!-- BootTheme should inherit from Theme.SplashScreen -->
|
||||||
<style name="BootTheme" parent="Theme.SplashScreen">
|
<style name="BootTheme" parent="Theme.SplashScreen">
|
||||||
<item name="windowSplashScreenBackground">@color/bootsplash_background</item>
|
<item name="windowSplashScreenBackground">@color/bootsplash_background</item>
|
||||||
<item name="windowSplashScreenAnimatedIcon">@mipmap/bootsplash_logo</item>
|
<item name="windowSplashScreenAnimatedIcon">@mipmap/bootsplash_logo</item>
|
||||||
<item name="postSplashScreenTheme">@style/AppTheme</item>
|
<item name="postSplashScreenTheme">@style/AppTheme</item>
|
||||||
</style>
|
</style>
|
||||||
|
|
||||||
<!-- Base application theme. -->
|
<!-- Base application theme. -->
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,19 @@
|
|||||||
|
/**
|
||||||
|
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
||||||
|
*
|
||||||
|
* <p>This source code is licensed under the MIT license found in the LICENSE file in the root
|
||||||
|
* directory of this source tree.
|
||||||
|
*/
|
||||||
|
package com.streetwriters.notesnook;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
import com.facebook.react.ReactInstanceManager;
|
||||||
|
/**
|
||||||
|
* Class responsible of loading Flipper inside your React Native application. This is the release
|
||||||
|
* flavor of it so it's empty as we don't want to load Flipper.
|
||||||
|
*/
|
||||||
|
public class ReactNativeFlipper {
|
||||||
|
public static void initializeFlipper(Context context, ReactInstanceManager reactInstanceManager) {
|
||||||
|
// Do nothing as we don't want to initialize Flipper on Release.
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -12,67 +12,18 @@ buildscript {
|
|||||||
androidXCoreVersion = "1.7.0"
|
androidXCoreVersion = "1.7.0"
|
||||||
androidXCore = "1.7.0"
|
androidXCore = "1.7.0"
|
||||||
androidXBrowser = "1.0.0"
|
androidXBrowser = "1.0.0"
|
||||||
if (System.properties['os.arch'] == "aarch64") {
|
ndkVersion = "23.1.7779620"
|
||||||
// For M1 Users we need to use the NDK 24 which added support for aarch64
|
|
||||||
ndkVersion = "24.0.8215888"
|
|
||||||
} else if (Os.isFamily(Os.FAMILY_WINDOWS)) {
|
|
||||||
// For Android Users, we need to use NDK 23, otherwise the build will
|
|
||||||
// fail due to paths longer than the OS limit
|
|
||||||
ndkVersion = "23.1.7779620"
|
|
||||||
} else {
|
|
||||||
// Otherwise we default to the side-by-side NDK version from AGP.
|
|
||||||
ndkVersion = "21.4.7075529"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
google()
|
google()
|
||||||
jcenter()
|
|
||||||
mavenCentral()
|
mavenCentral()
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath("com.android.tools.build:gradle:7.1.1")
|
classpath("com.android.tools.build:gradle")
|
||||||
classpath("com.facebook.react:react-native-gradle-plugin")
|
classpath("com.facebook.react:react-native-gradle-plugin")
|
||||||
classpath("de.undercouch:gradle-download-task:5.0.1")
|
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
|
||||||
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
|
|
||||||
// NOTE: Do not place your application dependencies here; they belong
|
|
||||||
// in the individual module build.gradle files
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
allprojects {
|
|
||||||
repositories {
|
|
||||||
google()
|
|
||||||
jcenter()
|
|
||||||
maven {
|
|
||||||
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
|
|
||||||
url("$rootDir/../../node_modules/react-native/android")
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
maven {
|
|
||||||
// All of Detox' artifacts are provided via the npm module
|
|
||||||
url "$rootDir/../../node_modules/detox/Detox-android"
|
|
||||||
}
|
|
||||||
|
|
||||||
maven {
|
|
||||||
// Android JSC is installed from npm
|
|
||||||
url("$rootDir/../../node_modules/jsc-android/dist")
|
|
||||||
}
|
|
||||||
|
|
||||||
mavenCentral {
|
|
||||||
// We don't want to fetch react-native from Maven Central as there are
|
|
||||||
// older versions over there.
|
|
||||||
content {
|
|
||||||
excludeGroup "com.facebook.react"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
maven { url 'https://www.jitpack.io' }
|
|
||||||
// maven {
|
|
||||||
// url("${project(':react-native-background-fetch').projectDir}/libs")
|
|
||||||
// }
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|||||||
@@ -12,8 +12,6 @@
|
|||||||
# Default value: -Xmx10248m -XX:MaxPermSize=256m
|
# Default value: -Xmx10248m -XX:MaxPermSize=256m
|
||||||
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=1024m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
|
org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=1024m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# When configured, Gradle will run in incubating parallel mode.
|
# When configured, Gradle will run in incubating parallel mode.
|
||||||
# This option should only be used with decoupled projects. More details, visit
|
# This option should only be used with decoupled projects. More details, visit
|
||||||
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
|
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
|
||||||
@@ -27,7 +25,7 @@ android.useAndroidX=true
|
|||||||
android.enableJetifier=true
|
android.enableJetifier=true
|
||||||
|
|
||||||
# Version of flipper SDK to use with React Native
|
# Version of flipper SDK to use with React Native
|
||||||
FLIPPER_VERSION=0.125.0
|
FLIPPER_VERSION=0.182.0
|
||||||
|
|
||||||
# Use this property to specify which architecture you want to build.
|
# Use this property to specify which architecture you want to build.
|
||||||
# You can also override it from the CLI using
|
# You can also override it from the CLI using
|
||||||
@@ -40,6 +38,10 @@ reactNativeArchitectures=armeabi-v7a,arm64-v8a,x86,x86_64
|
|||||||
# are providing them.
|
# are providing them.
|
||||||
newArchEnabled=false
|
newArchEnabled=false
|
||||||
|
|
||||||
|
# Use this property to enable or disable the Hermes JS engine.
|
||||||
|
# If set to false, you will be using JSC instead.
|
||||||
|
hermesEnabled=true
|
||||||
|
|
||||||
# V8 Cache Mode Config
|
# V8 Cache Mode Config
|
||||||
# v8.cacheMode=none
|
# v8.cacheMode=none
|
||||||
# v8.android.tools.dir=/home/ammarahm-ed/Repos/notesnook-mobile/node_modules/v8-android-jit-nointl/dist/tools/android
|
# v8.android.tools.dir=/home/ammarahm-ed/Repos/notesnook-mobile/node_modules/v8-android-jit-nointl/dist/tools/android
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.1-all.zip
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
|
|||||||
18
apps/mobile/native/android/gradlew
vendored
@@ -55,7 +55,7 @@
|
|||||||
# Darwin, MinGW, and NonStop.
|
# Darwin, MinGW, and NonStop.
|
||||||
#
|
#
|
||||||
# (3) This script is generated from the Groovy template
|
# (3) This script is generated from the Groovy template
|
||||||
# https://github.com/gradle/gradle/blob/master/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
|
# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt
|
||||||
# within the Gradle project.
|
# within the Gradle project.
|
||||||
#
|
#
|
||||||
# You can find Gradle at https://github.com/gradle/gradle/.
|
# You can find Gradle at https://github.com/gradle/gradle/.
|
||||||
@@ -80,10 +80,10 @@ do
|
|||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
|
# This is normally unused
|
||||||
|
# shellcheck disable=SC2034
|
||||||
APP_NAME="Gradle"
|
|
||||||
APP_BASE_NAME=${0##*/}
|
APP_BASE_NAME=${0##*/}
|
||||||
|
APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit
|
||||||
|
|
||||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||||
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"'
|
||||||
@@ -143,12 +143,16 @@ fi
|
|||||||
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
|
if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then
|
||||||
case $MAX_FD in #(
|
case $MAX_FD in #(
|
||||||
max*)
|
max*)
|
||||||
|
# In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked.
|
||||||
|
# shellcheck disable=SC3045
|
||||||
MAX_FD=$( ulimit -H -n ) ||
|
MAX_FD=$( ulimit -H -n ) ||
|
||||||
warn "Could not query maximum file descriptor limit"
|
warn "Could not query maximum file descriptor limit"
|
||||||
esac
|
esac
|
||||||
case $MAX_FD in #(
|
case $MAX_FD in #(
|
||||||
'' | soft) :;; #(
|
'' | soft) :;; #(
|
||||||
*)
|
*)
|
||||||
|
# In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked.
|
||||||
|
# shellcheck disable=SC3045
|
||||||
ulimit -n "$MAX_FD" ||
|
ulimit -n "$MAX_FD" ||
|
||||||
warn "Could not set maximum file descriptor limit to $MAX_FD"
|
warn "Could not set maximum file descriptor limit to $MAX_FD"
|
||||||
esac
|
esac
|
||||||
@@ -205,6 +209,12 @@ set -- \
|
|||||||
org.gradle.wrapper.GradleWrapperMain \
|
org.gradle.wrapper.GradleWrapperMain \
|
||||||
"$@"
|
"$@"
|
||||||
|
|
||||||
|
# Stop when "xargs" is not available.
|
||||||
|
if ! command -v xargs >/dev/null 2>&1
|
||||||
|
then
|
||||||
|
die "xargs is not available"
|
||||||
|
fi
|
||||||
|
|
||||||
# Use "xargs" to parse quoted args.
|
# Use "xargs" to parse quoted args.
|
||||||
#
|
#
|
||||||
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
|
# With -n1 it outputs one arg per line, with the quotes and backslashes removed.
|
||||||
|
|||||||
15
apps/mobile/native/android/gradlew.bat
vendored
@@ -14,7 +14,7 @@
|
|||||||
@rem limitations under the License.
|
@rem limitations under the License.
|
||||||
@rem
|
@rem
|
||||||
|
|
||||||
@if "%DEBUG%" == "" @echo off
|
@if "%DEBUG%"=="" @echo off
|
||||||
@rem ##########################################################################
|
@rem ##########################################################################
|
||||||
@rem
|
@rem
|
||||||
@rem Gradle startup script for Windows
|
@rem Gradle startup script for Windows
|
||||||
@@ -25,7 +25,8 @@
|
|||||||
if "%OS%"=="Windows_NT" setlocal
|
if "%OS%"=="Windows_NT" setlocal
|
||||||
|
|
||||||
set DIRNAME=%~dp0
|
set DIRNAME=%~dp0
|
||||||
if "%DIRNAME%" == "" set DIRNAME=.
|
if "%DIRNAME%"=="" set DIRNAME=.
|
||||||
|
@rem This is normally unused
|
||||||
set APP_BASE_NAME=%~n0
|
set APP_BASE_NAME=%~n0
|
||||||
set APP_HOME=%DIRNAME%
|
set APP_HOME=%DIRNAME%
|
||||||
|
|
||||||
@@ -40,7 +41,7 @@ if defined JAVA_HOME goto findJavaFromJavaHome
|
|||||||
|
|
||||||
set JAVA_EXE=java.exe
|
set JAVA_EXE=java.exe
|
||||||
%JAVA_EXE% -version >NUL 2>&1
|
%JAVA_EXE% -version >NUL 2>&1
|
||||||
if "%ERRORLEVEL%" == "0" goto execute
|
if %ERRORLEVEL% equ 0 goto execute
|
||||||
|
|
||||||
echo.
|
echo.
|
||||||
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
|
||||||
@@ -75,13 +76,15 @@ set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
|||||||
|
|
||||||
:end
|
:end
|
||||||
@rem End local scope for the variables with windows NT shell
|
@rem End local scope for the variables with windows NT shell
|
||||||
if "%ERRORLEVEL%"=="0" goto mainEnd
|
if %ERRORLEVEL% equ 0 goto mainEnd
|
||||||
|
|
||||||
:fail
|
:fail
|
||||||
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
|
rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
|
||||||
rem the _cmd.exe /c_ return code!
|
rem the _cmd.exe /c_ return code!
|
||||||
if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
|
set EXIT_CODE=%ERRORLEVEL%
|
||||||
exit /b 1
|
if %EXIT_CODE% equ 0 set EXIT_CODE=1
|
||||||
|
if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE%
|
||||||
|
exit /b %EXIT_CODE%
|
||||||
|
|
||||||
:mainEnd
|
:mainEnd
|
||||||
if "%OS%"=="Windows_NT" endlocal
|
if "%OS%"=="Windows_NT" endlocal
|
||||||
|
|||||||
@@ -1,10 +1,4 @@
|
|||||||
rootProject.name = 'Notesnook'
|
rootProject.name = 'Notesnook'
|
||||||
apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings)
|
apply from: file("../../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings)
|
||||||
include ':app'
|
include ':app'
|
||||||
includeBuild('../../node_modules/react-native-gradle-plugin')
|
includeBuild('../../node_modules/@react-native/gradle-plugin')
|
||||||
if (settings.hasProperty("newArchEnabled") && settings.newArchEnabled == "true") {
|
|
||||||
include(":ReactAndroid")
|
|
||||||
project(":ReactAndroid").projectDir = file('../../node_modules/react-native/ReactAndroid');
|
|
||||||
include(":ReactAndroid:hermes-engine")
|
|
||||||
project(":ReactAndroid:hermes-engine").projectDir = file('../../node_modules/react-native/ReactAndroid/hermes-engine')
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1613,7 +1613,7 @@
|
|||||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
APPLICATION_EXTENSION_API_ONLY = YES;
|
APPLICATION_EXTENSION_API_ONLY = YES;
|
||||||
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
||||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
|
||||||
CLANG_CXX_LIBRARY = "libc++";
|
CLANG_CXX_LIBRARY = "libc++";
|
||||||
CLANG_ENABLE_MODULES = YES;
|
CLANG_ENABLE_MODULES = YES;
|
||||||
CLANG_ENABLE_OBJC_ARC = YES;
|
CLANG_ENABLE_OBJC_ARC = YES;
|
||||||
@@ -1662,13 +1662,16 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
);
|
);
|
||||||
LIBRARY_SEARCH_PATHS = (
|
LIBRARY_SEARCH_PATHS = (
|
||||||
|
"$(SDKROOT)/usr/lib/swift",
|
||||||
"\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"",
|
"\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"",
|
||||||
"\"$(TOOLCHAIN_DIR)/usr/lib/swift-5.2/$(PLATFORM_NAME)\"",
|
"\"$(TOOLCHAIN_DIR)/usr/lib/swift-5.2/$(PLATFORM_NAME)\"",
|
||||||
"\"$(inherited)\"",
|
"\"$(inherited)\"",
|
||||||
);
|
);
|
||||||
MTL_ENABLE_DEBUG_INFO = YES;
|
MTL_ENABLE_DEBUG_INFO = YES;
|
||||||
ONLY_ACTIVE_ARCH = YES;
|
ONLY_ACTIVE_ARCH = YES;
|
||||||
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
|
OTHER_CFLAGS = "$(inherited)";
|
||||||
|
OTHER_CPLUSPLUSFLAGS = "$(inherited)";
|
||||||
|
REACT_NATIVE_PATH = "${PODS_ROOT}/../../../node_modules/react-native";
|
||||||
SDKROOT = iphoneos;
|
SDKROOT = iphoneos;
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
@@ -1679,7 +1682,7 @@
|
|||||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
APPLICATION_EXTENSION_API_ONLY = YES;
|
APPLICATION_EXTENSION_API_ONLY = YES;
|
||||||
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
||||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
CLANG_CXX_LANGUAGE_STANDARD = "c++17";
|
||||||
CLANG_CXX_LIBRARY = "libc++";
|
CLANG_CXX_LIBRARY = "libc++";
|
||||||
CLANG_ENABLE_MODULES = YES;
|
CLANG_ENABLE_MODULES = YES;
|
||||||
CLANG_ENABLE_OBJC_ARC = YES;
|
CLANG_ENABLE_OBJC_ARC = YES;
|
||||||
@@ -1721,13 +1724,16 @@
|
|||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
);
|
);
|
||||||
LIBRARY_SEARCH_PATHS = (
|
LIBRARY_SEARCH_PATHS = (
|
||||||
|
"$(SDKROOT)/usr/lib/swift",
|
||||||
"\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"",
|
"\"$(TOOLCHAIN_DIR)/usr/lib/swift/$(PLATFORM_NAME)\"",
|
||||||
"\"$(TOOLCHAIN_DIR)/usr/lib/swift-5.2/$(PLATFORM_NAME)\"",
|
"\"$(TOOLCHAIN_DIR)/usr/lib/swift-5.2/$(PLATFORM_NAME)\"",
|
||||||
"\"$(inherited)\"",
|
"\"$(inherited)\"",
|
||||||
);
|
);
|
||||||
MTL_ENABLE_DEBUG_INFO = NO;
|
MTL_ENABLE_DEBUG_INFO = NO;
|
||||||
ONLY_ACTIVE_ARCH = NO;
|
ONLY_ACTIVE_ARCH = NO;
|
||||||
REACT_NATIVE_PATH = "${PODS_ROOT}/../../node_modules/react-native";
|
OTHER_CFLAGS = "$(inherited)";
|
||||||
|
OTHER_CPLUSPLUSFLAGS = "$(inherited)";
|
||||||
|
REACT_NATIVE_PATH = "${PODS_ROOT}/../../../node_modules/react-native";
|
||||||
SDKROOT = iphoneos;
|
SDKROOT = iphoneos;
|
||||||
VALIDATE_PRODUCT = YES;
|
VALIDATE_PRODUCT = YES;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
#import <React/RCTBridgeDelegate.h>
|
#import <RCTAppDelegate.h>
|
||||||
#import <UIKit/UIKit.h>
|
#import <UIKit/UIKit.h>
|
||||||
|
|
||||||
@interface AppDelegate : UIResponder <UIApplicationDelegate, RCTBridgeDelegate>
|
@interface AppDelegate : RCTAppDelegate
|
||||||
|
|
||||||
@property (nonatomic, strong) UIWindow *window;
|
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -1,90 +1,23 @@
|
|||||||
#import "AppDelegate.h"
|
#import "AppDelegate.h"
|
||||||
|
|
||||||
#import <React/RCTBridge.h>
|
|
||||||
#import <React/RCTBundleURLProvider.h>
|
#import <React/RCTBundleURLProvider.h>
|
||||||
#import <React/RCTRootView.h>
|
|
||||||
#import <RNBootSplash/RNBootSplash.h>
|
|
||||||
#import <React/RCTAppSetupUtils.h>
|
|
||||||
#import <React/RCTLinkingManager.h>
|
#import <React/RCTLinkingManager.h>
|
||||||
#import "RNShortcuts.h"
|
#import "RNShortcuts.h"
|
||||||
//#import <TSBackgroundFetch/TSBackgroundFetch.h>
|
#import "RNBootSplash.h"
|
||||||
|
|
||||||
#if RCT_NEW_ARCH_ENABLED
|
|
||||||
#import <React/CoreModulesPlugins.h>
|
|
||||||
#import <React/RCTCxxBridgeDelegate.h>
|
|
||||||
#import <React/RCTFabricSurfaceHostingProxyRootView.h>
|
|
||||||
#import <React/RCTSurfacePresenter.h>
|
|
||||||
#import <React/RCTSurfacePresenterBridgeAdapter.h>
|
|
||||||
#import <ReactCommon/RCTTurboModuleManager.h>
|
|
||||||
|
|
||||||
#import <react/config/ReactNativeConfig.h>
|
|
||||||
static NSString *const kRNConcurrentRoot = @"concurrentRoot";
|
|
||||||
|
|
||||||
@interface AppDelegate () <RCTCxxBridgeDelegate, RCTTurboModuleManagerDelegate> {
|
|
||||||
RCTTurboModuleManager *_turboModuleManager;
|
|
||||||
RCTSurfacePresenterBridgeAdapter *_bridgeAdapter;
|
|
||||||
std::shared_ptr<const facebook::react::ReactNativeConfig> _reactNativeConfig;
|
|
||||||
facebook::react::ContextContainer::Shared _contextContainer;
|
|
||||||
}
|
|
||||||
@end
|
|
||||||
#endif
|
|
||||||
|
|
||||||
@implementation AppDelegate
|
@implementation AppDelegate
|
||||||
|
|
||||||
UINavigationController *navController;
|
|
||||||
UIViewController *rootViewController;
|
|
||||||
UIViewController *shareViewController;
|
|
||||||
RCTBridge *bridge;
|
|
||||||
|
|
||||||
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
|
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
|
||||||
{
|
{
|
||||||
RCTAppSetupPrepareApp(application);
|
self.moduleName = @"Notesnook";
|
||||||
bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions];
|
// You can add your custom initial props in the dictionary below.
|
||||||
|
// They will be passed down to the ViewController used by React Native.
|
||||||
#if RCT_NEW_ARCH_ENABLED
|
self.initialProps = @{};
|
||||||
_contextContainer = std::make_shared<facebook::react::ContextContainer const>();
|
|
||||||
_reactNativeConfig = std::make_shared<facebook::react::EmptyReactNativeConfig const>();
|
|
||||||
_contextContainer->insert("ReactNativeConfig", _reactNativeConfig);
|
|
||||||
_bridgeAdapter = [[RCTSurfacePresenterBridgeAdapter alloc] initWithBridge:bridge contextContainer:_contextContainer];
|
|
||||||
bridge.surfacePresenter = _bridgeAdapter.surfacePresenter;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
rootViewController = [UIViewController new];
|
|
||||||
NSDictionary *initProps = [self prepareInitialProps];
|
|
||||||
UIView *rootView = RCTAppSetupDefaultRootView(bridge, @"Notesnook" , initProps);
|
|
||||||
|
|
||||||
if (@available(iOS 13.0, *)) {
|
|
||||||
rootView.backgroundColor = [UIColor systemBackgroundColor];
|
|
||||||
} else {
|
|
||||||
rootView.backgroundColor = [UIColor whiteColor];
|
|
||||||
}
|
|
||||||
rootViewController.view = rootView;
|
|
||||||
[RNBootSplash initWithStoryboard:@"BootSplash" rootView:rootView];
|
|
||||||
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
|
|
||||||
self.window.rootViewController = rootViewController;
|
|
||||||
[self.window makeKeyAndVisible];
|
|
||||||
//[[TSBackgroundFetch sharedInstance] didFinishLaunching];
|
//[[TSBackgroundFetch sharedInstance] didFinishLaunching];
|
||||||
return YES;
|
return [super application:application didFinishLaunchingWithOptions:launchOptions];
|
||||||
}
|
}
|
||||||
|
|
||||||
/// This method controls whether the `concurrentRoot`feature of React18 is turned on or off.
|
|
||||||
///
|
|
||||||
/// @see: https://reactjs.org/blog/2022/03/29/react-v18.html
|
|
||||||
/// @note: This requires to be rendering on Fabric (i.e. on the New Architecture).
|
|
||||||
/// @return: `true` if the `concurrentRoot` feture is enabled. Otherwise, it returns `false`.
|
|
||||||
- (BOOL)concurrentRootEnabled
|
|
||||||
{
|
|
||||||
// Switch this bool to turn on and off the concurrent root
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
- (NSDictionary *)prepareInitialProps
|
|
||||||
{
|
|
||||||
NSMutableDictionary *initProps = [NSMutableDictionary new];
|
|
||||||
#ifdef RCT_NEW_ARCH_ENABLED
|
|
||||||
initProps[kRNConcurrentRoot] = @([self concurrentRootEnabled]);
|
|
||||||
#endif
|
|
||||||
return initProps;
|
|
||||||
}
|
|
||||||
|
|
||||||
- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
|
- (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
|
||||||
{
|
{
|
||||||
@@ -106,43 +39,16 @@ RCTBridge *bridge;
|
|||||||
return [RCTLinkingManager application:application openURL:url options:options];
|
return [RCTLinkingManager application:application openURL:url options:options];
|
||||||
}
|
}
|
||||||
|
|
||||||
#if RCT_NEW_ARCH_ENABLED
|
- (UIView *)createRootViewWithBridge:(RCTBridge *)bridge
|
||||||
|
moduleName:(NSString *)moduleName
|
||||||
|
initProps:(NSDictionary *)initProps {
|
||||||
|
UIView *rootView = [super createRootViewWithBridge:bridge
|
||||||
|
moduleName:moduleName
|
||||||
|
initProps:initProps];
|
||||||
|
|
||||||
#pragma mark - RCTCxxBridgeDelegate
|
[RNBootSplash initWithStoryboard:@"BootSplash" rootView:rootView]; // ⬅️ initialize the splash screen
|
||||||
|
|
||||||
- (std::unique_ptr<facebook::react::JSExecutorFactory>)jsExecutorFactoryForBridge:(RCTBridge *)bridge
|
return rootView;
|
||||||
{
|
|
||||||
_turboModuleManager = [[RCTTurboModuleManager alloc] initWithBridge:bridge
|
|
||||||
delegate:self
|
|
||||||
jsInvoker:bridge.jsCallInvoker];
|
|
||||||
return RCTAppSetupDefaultJsExecutorFactory(bridge, _turboModuleManager);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma mark RCTTurboModuleManagerDelegate
|
|
||||||
|
|
||||||
- (Class)getModuleClassFromName:(const char *)name
|
|
||||||
{
|
|
||||||
return RCTCoreModulesClassProvider(name);
|
|
||||||
}
|
|
||||||
|
|
||||||
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:(const std::string &)name
|
|
||||||
jsInvoker:(std::shared_ptr<facebook::react::CallInvoker>)jsInvoker
|
|
||||||
{
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:(const std::string &)name
|
|
||||||
initParams:
|
|
||||||
(const facebook::react::ObjCTurboModule::InitParams &)params
|
|
||||||
{
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
- (id<RCTTurboModule>)getModuleInstanceFromClass:(Class)moduleClass
|
|
||||||
{
|
|
||||||
return RCTAppSetupDefaultModuleFromClass(moduleClass);
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -1,8 +1,35 @@
|
|||||||
require_relative '../../node_modules/react-native/scripts/react_native_pods'
|
# Resolve react_native_pods.rb with node to allow for hoisting
|
||||||
require_relative '../../node_modules/@react-native-community/cli-platform-ios/native_modules'
|
require Pod::Executable.execute_command('node', ['-p',
|
||||||
|
'require.resolve(
|
||||||
|
"react-native/scripts/react_native_pods.rb",
|
||||||
|
{paths: [process.argv[1]]},
|
||||||
|
)', __dir__]).strip
|
||||||
|
|
||||||
|
require Pod::Executable.execute_command('node', ['-p',
|
||||||
|
'require.resolve(
|
||||||
|
"@react-native-community/cli-platform-ios/native_modules.rb",
|
||||||
|
{paths: [process.argv[1]]},
|
||||||
|
)', __dir__]).strip
|
||||||
|
|
||||||
|
platform :ios, min_ios_version_supported
|
||||||
|
prepare_react_native_project!
|
||||||
|
|
||||||
|
# If you are using a `react-native-flipper` your iOS build will fail when `NO_FLIPPER=1` is set.
|
||||||
|
# because `react-native-flipper` depends on (FlipperKit,...) that will be excluded
|
||||||
|
#
|
||||||
|
# To fix this you can also exclude `react-native-flipper` using a `react-native.config.js`
|
||||||
|
# ```js
|
||||||
|
# module.exports = {
|
||||||
|
# dependencies: {
|
||||||
|
# ...(process.env.NO_FLIPPER ? { 'react-native-flipper': { platforms: { ios: null } } } : {}),
|
||||||
|
# ```
|
||||||
|
flipper_config = ENV['NO_FLIPPER'] == "1" ? FlipperConfiguration.disabled : FlipperConfiguration.enabled
|
||||||
|
linkage = ENV['USE_FRAMEWORKS']
|
||||||
|
if linkage != nil
|
||||||
|
Pod::UI.puts "Configuring Pod with #{linkage}ally linked Frameworks".green
|
||||||
|
use_frameworks! :linkage => linkage.to_sym
|
||||||
|
end
|
||||||
|
|
||||||
platform :ios, '12.4'
|
|
||||||
install! 'cocoapods', :deterministic_uuids => false
|
|
||||||
|
|
||||||
pod 'Base64'
|
pod 'Base64'
|
||||||
pod 'SexyTooltip',:git => 'https://github.com/ammarahm-ed/SexyTooltip.git'
|
pod 'SexyTooltip',:git => 'https://github.com/ammarahm-ed/SexyTooltip.git'
|
||||||
@@ -10,15 +37,22 @@ pod 'MMKV'
|
|||||||
|
|
||||||
target 'Notesnook' do
|
target 'Notesnook' do
|
||||||
|
|
||||||
|
config = use_native_modules!
|
||||||
# Flags change depending on the env values.
|
# Flags change depending on the env values.
|
||||||
flags = get_default_flags()
|
flags = get_default_flags()
|
||||||
config = use_native_modules!
|
|
||||||
|
|
||||||
use_react_native!(
|
use_react_native!(
|
||||||
:path => config[:reactNativePath],
|
:path => config[:reactNativePath],
|
||||||
# to enable hermes on iOS, change `false` to `true` and then install pods
|
# Hermes is now enabled by default. Disable by setting this flag to false.
|
||||||
|
# Upcoming versions of React Native may rely on get_default_flags(), but
|
||||||
|
# we make it explicit here to aid in the React Native upgrade process.
|
||||||
:hermes_enabled => false,
|
:hermes_enabled => false,
|
||||||
:fabric_enabled => flags[:fabric_enabled],
|
:fabric_enabled => flags[:fabric_enabled],
|
||||||
|
# Enables Flipper.
|
||||||
|
#
|
||||||
|
# Note that if you have use_frameworks! enabled, Flipper will not work and
|
||||||
|
# you should disable the next line.
|
||||||
|
# :flipper_configuration => flipper_config,
|
||||||
# An absolute path to your application root.
|
# An absolute path to your application root.
|
||||||
:app_path => "#{Pod::Config.instance.installation_root}/.."
|
:app_path => "#{Pod::Config.instance.installation_root}/.."
|
||||||
)
|
)
|
||||||
@@ -32,16 +66,6 @@ target 'Notesnook' do
|
|||||||
|
|
||||||
# Pods for testing
|
# Pods for testing
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
# Enables Flipper.
|
|
||||||
#
|
|
||||||
# Note that if you have use_frameworks! enabled, Flipper will not work and
|
|
||||||
# you should disable these next few lines.
|
|
||||||
# use_flipper!
|
|
||||||
# post_install do |installer|
|
|
||||||
# flipper_post_install(installer)
|
|
||||||
# end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
@@ -57,7 +81,13 @@ end
|
|||||||
|
|
||||||
|
|
||||||
post_install do |installer|
|
post_install do |installer|
|
||||||
react_native_post_install(installer)
|
react_native_post_install(
|
||||||
|
installer,
|
||||||
|
react_native_path = "../../node_modules/react-native",
|
||||||
|
# Set `mac_catalyst_enabled` to `true` in order to apply patches
|
||||||
|
# necessary for Mac Catalyst builds
|
||||||
|
:mac_catalyst_enabled => false
|
||||||
|
)
|
||||||
__apply_Xcode_12_5_M1_post_install_workaround(installer)
|
__apply_Xcode_12_5_M1_post_install_workaround(installer)
|
||||||
installer.pods_project.targets.each do |target|
|
installer.pods_project.targets.each do |target|
|
||||||
target.build_configurations.each do |config|
|
target.build_configurations.each do |config|
|
||||||
|
|||||||
@@ -1,19 +1,20 @@
|
|||||||
PODS:
|
PODS:
|
||||||
- Base64 (1.1.2)
|
- Base64 (1.1.2)
|
||||||
|
- BEMCheckBox (1.4.1)
|
||||||
- boost (1.76.0)
|
- boost (1.76.0)
|
||||||
- callstack-repack (3.2.0):
|
- callstack-repack (3.2.0):
|
||||||
- JWTDecode (~> 3.0)
|
- JWTDecode (~> 3.0)
|
||||||
- React-Core
|
- React-Core
|
||||||
- SwiftyRSA
|
- SwiftyRSA
|
||||||
- DoubleConversion (1.1.6)
|
- DoubleConversion (1.1.6)
|
||||||
- FBLazyVector (0.69.7)
|
- FBLazyVector (0.72.0)
|
||||||
- FBReactNativeSpec (0.69.7):
|
- FBReactNativeSpec (0.72.0):
|
||||||
- RCT-Folly (= 2021.06.28.00-v2)
|
- RCT-Folly (= 2021.07.22.00)
|
||||||
- RCTRequired (= 0.69.7)
|
- RCTRequired (= 0.72.0)
|
||||||
- RCTTypeSafety (= 0.69.7)
|
- RCTTypeSafety (= 0.72.0)
|
||||||
- React-Core (= 0.69.7)
|
- React-Core (= 0.72.0)
|
||||||
- React-jsi (= 0.69.7)
|
- React-jsi (= 0.72.0)
|
||||||
- ReactCommon/turbomodule/core (= 0.69.7)
|
- ReactCommon/turbomodule/core (= 0.72.0)
|
||||||
- fmt (6.2.1)
|
- fmt (6.2.1)
|
||||||
- glog (0.3.5)
|
- glog (0.3.5)
|
||||||
- GZIP (1.3.0)
|
- GZIP (1.3.0)
|
||||||
@@ -22,214 +23,275 @@ PODS:
|
|||||||
- MMKVCore (~> 1.2.13)
|
- MMKVCore (~> 1.2.13)
|
||||||
- MMKVCore (1.2.13)
|
- MMKVCore (1.2.13)
|
||||||
- pop (1.0.12)
|
- pop (1.0.12)
|
||||||
- RCT-Folly (2021.06.28.00-v2):
|
- RCT-Folly (2021.07.22.00):
|
||||||
- boost
|
- boost
|
||||||
- DoubleConversion
|
- DoubleConversion
|
||||||
- fmt (~> 6.2.1)
|
- fmt (~> 6.2.1)
|
||||||
- glog
|
- glog
|
||||||
- RCT-Folly/Default (= 2021.06.28.00-v2)
|
- RCT-Folly/Default (= 2021.07.22.00)
|
||||||
- RCT-Folly/Default (2021.06.28.00-v2):
|
- RCT-Folly/Default (2021.07.22.00):
|
||||||
- boost
|
- boost
|
||||||
- DoubleConversion
|
- DoubleConversion
|
||||||
- fmt (~> 6.2.1)
|
- fmt (~> 6.2.1)
|
||||||
- glog
|
- glog
|
||||||
- RCTRequired (0.69.7)
|
- RCTRequired (0.72.0)
|
||||||
- RCTTypeSafety (0.69.7):
|
- RCTTypeSafety (0.72.0):
|
||||||
- FBLazyVector (= 0.69.7)
|
- FBLazyVector (= 0.72.0)
|
||||||
- RCTRequired (= 0.69.7)
|
- RCTRequired (= 0.72.0)
|
||||||
- React-Core (= 0.69.7)
|
- React-Core (= 0.72.0)
|
||||||
- React (0.69.7):
|
- React (0.72.0):
|
||||||
- React-Core (= 0.69.7)
|
- React-Core (= 0.72.0)
|
||||||
- React-Core/DevSupport (= 0.69.7)
|
- React-Core/DevSupport (= 0.72.0)
|
||||||
- React-Core/RCTWebSocket (= 0.69.7)
|
- React-Core/RCTWebSocket (= 0.72.0)
|
||||||
- React-RCTActionSheet (= 0.69.7)
|
- React-RCTActionSheet (= 0.72.0)
|
||||||
- React-RCTAnimation (= 0.69.7)
|
- React-RCTAnimation (= 0.72.0)
|
||||||
- React-RCTBlob (= 0.69.7)
|
- React-RCTBlob (= 0.72.0)
|
||||||
- React-RCTImage (= 0.69.7)
|
- React-RCTImage (= 0.72.0)
|
||||||
- React-RCTLinking (= 0.69.7)
|
- React-RCTLinking (= 0.72.0)
|
||||||
- React-RCTNetwork (= 0.69.7)
|
- React-RCTNetwork (= 0.72.0)
|
||||||
- React-RCTSettings (= 0.69.7)
|
- React-RCTSettings (= 0.72.0)
|
||||||
- React-RCTText (= 0.69.7)
|
- React-RCTText (= 0.72.0)
|
||||||
- React-RCTVibration (= 0.69.7)
|
- React-RCTVibration (= 0.72.0)
|
||||||
- React-bridging (0.69.7):
|
- React-callinvoker (0.72.0)
|
||||||
- RCT-Folly (= 2021.06.28.00-v2)
|
- React-Codegen (0.72.0):
|
||||||
- React-jsi (= 0.69.7)
|
- DoubleConversion
|
||||||
- React-callinvoker (0.69.7)
|
- FBReactNativeSpec
|
||||||
- React-Codegen (0.69.7):
|
|
||||||
- FBReactNativeSpec (= 0.69.7)
|
|
||||||
- RCT-Folly (= 2021.06.28.00-v2)
|
|
||||||
- RCTRequired (= 0.69.7)
|
|
||||||
- RCTTypeSafety (= 0.69.7)
|
|
||||||
- React-Core (= 0.69.7)
|
|
||||||
- React-jsi (= 0.69.7)
|
|
||||||
- React-jsiexecutor (= 0.69.7)
|
|
||||||
- ReactCommon/turbomodule/core (= 0.69.7)
|
|
||||||
- React-Core (0.69.7):
|
|
||||||
- glog
|
- glog
|
||||||
- RCT-Folly (= 2021.06.28.00-v2)
|
- RCT-Folly
|
||||||
- React-Core/Default (= 0.69.7)
|
- RCTRequired
|
||||||
- React-cxxreact (= 0.69.7)
|
- RCTTypeSafety
|
||||||
- React-jsi (= 0.69.7)
|
- React-Core
|
||||||
- React-jsiexecutor (= 0.69.7)
|
- React-jsc
|
||||||
- React-perflogger (= 0.69.7)
|
- React-jsi
|
||||||
|
- React-jsiexecutor
|
||||||
|
- React-NativeModulesApple
|
||||||
|
- React-rncore
|
||||||
|
- ReactCommon/turbomodule/bridging
|
||||||
|
- ReactCommon/turbomodule/core
|
||||||
|
- React-Core (0.72.0):
|
||||||
|
- glog
|
||||||
|
- RCT-Folly (= 2021.07.22.00)
|
||||||
|
- React-Core/Default (= 0.72.0)
|
||||||
|
- React-cxxreact
|
||||||
|
- React-jsc
|
||||||
|
- React-jsi
|
||||||
|
- React-jsiexecutor
|
||||||
|
- React-perflogger
|
||||||
|
- React-runtimeexecutor
|
||||||
|
- React-utils
|
||||||
|
- SocketRocket (= 0.6.0)
|
||||||
- Yoga
|
- Yoga
|
||||||
- React-Core/CoreModulesHeaders (0.69.7):
|
- React-Core/CoreModulesHeaders (0.72.0):
|
||||||
- glog
|
- glog
|
||||||
- RCT-Folly (= 2021.06.28.00-v2)
|
- RCT-Folly (= 2021.07.22.00)
|
||||||
- React-Core/Default
|
- React-Core/Default
|
||||||
- React-cxxreact (= 0.69.7)
|
- React-cxxreact
|
||||||
- React-jsi (= 0.69.7)
|
- React-jsc
|
||||||
- React-jsiexecutor (= 0.69.7)
|
- React-jsi
|
||||||
- React-perflogger (= 0.69.7)
|
- React-jsiexecutor
|
||||||
|
- React-perflogger
|
||||||
|
- React-runtimeexecutor
|
||||||
|
- React-utils
|
||||||
|
- SocketRocket (= 0.6.0)
|
||||||
- Yoga
|
- Yoga
|
||||||
- React-Core/Default (0.69.7):
|
- React-Core/Default (0.72.0):
|
||||||
- glog
|
- glog
|
||||||
- RCT-Folly (= 2021.06.28.00-v2)
|
- RCT-Folly (= 2021.07.22.00)
|
||||||
- React-cxxreact (= 0.69.7)
|
- React-cxxreact
|
||||||
- React-jsi (= 0.69.7)
|
- React-jsc
|
||||||
- React-jsiexecutor (= 0.69.7)
|
- React-jsi
|
||||||
- React-perflogger (= 0.69.7)
|
- React-jsiexecutor
|
||||||
|
- React-perflogger
|
||||||
|
- React-runtimeexecutor
|
||||||
|
- React-utils
|
||||||
|
- SocketRocket (= 0.6.0)
|
||||||
- Yoga
|
- Yoga
|
||||||
- React-Core/DevSupport (0.69.7):
|
- React-Core/DevSupport (0.72.0):
|
||||||
- glog
|
- glog
|
||||||
- RCT-Folly (= 2021.06.28.00-v2)
|
- RCT-Folly (= 2021.07.22.00)
|
||||||
- React-Core/Default (= 0.69.7)
|
- React-Core/Default (= 0.72.0)
|
||||||
- React-Core/RCTWebSocket (= 0.69.7)
|
- React-Core/RCTWebSocket (= 0.72.0)
|
||||||
- React-cxxreact (= 0.69.7)
|
- React-cxxreact
|
||||||
- React-jsi (= 0.69.7)
|
- React-jsc
|
||||||
- React-jsiexecutor (= 0.69.7)
|
- React-jsi
|
||||||
- React-jsinspector (= 0.69.7)
|
- React-jsiexecutor
|
||||||
- React-perflogger (= 0.69.7)
|
- React-jsinspector (= 0.72.0)
|
||||||
|
- React-perflogger
|
||||||
|
- React-runtimeexecutor
|
||||||
|
- React-utils
|
||||||
|
- SocketRocket (= 0.6.0)
|
||||||
- Yoga
|
- Yoga
|
||||||
- React-Core/RCTActionSheetHeaders (0.69.7):
|
- React-Core/RCTActionSheetHeaders (0.72.0):
|
||||||
- glog
|
- glog
|
||||||
- RCT-Folly (= 2021.06.28.00-v2)
|
- RCT-Folly (= 2021.07.22.00)
|
||||||
- React-Core/Default
|
- React-Core/Default
|
||||||
- React-cxxreact (= 0.69.7)
|
- React-cxxreact
|
||||||
- React-jsi (= 0.69.7)
|
- React-jsc
|
||||||
- React-jsiexecutor (= 0.69.7)
|
- React-jsi
|
||||||
- React-perflogger (= 0.69.7)
|
- React-jsiexecutor
|
||||||
|
- React-perflogger
|
||||||
|
- React-runtimeexecutor
|
||||||
|
- React-utils
|
||||||
|
- SocketRocket (= 0.6.0)
|
||||||
- Yoga
|
- Yoga
|
||||||
- React-Core/RCTAnimationHeaders (0.69.7):
|
- React-Core/RCTAnimationHeaders (0.72.0):
|
||||||
- glog
|
- glog
|
||||||
- RCT-Folly (= 2021.06.28.00-v2)
|
- RCT-Folly (= 2021.07.22.00)
|
||||||
- React-Core/Default
|
- React-Core/Default
|
||||||
- React-cxxreact (= 0.69.7)
|
- React-cxxreact
|
||||||
- React-jsi (= 0.69.7)
|
- React-jsc
|
||||||
- React-jsiexecutor (= 0.69.7)
|
- React-jsi
|
||||||
- React-perflogger (= 0.69.7)
|
- React-jsiexecutor
|
||||||
|
- React-perflogger
|
||||||
|
- React-runtimeexecutor
|
||||||
|
- React-utils
|
||||||
|
- SocketRocket (= 0.6.0)
|
||||||
- Yoga
|
- Yoga
|
||||||
- React-Core/RCTBlobHeaders (0.69.7):
|
- React-Core/RCTBlobHeaders (0.72.0):
|
||||||
- glog
|
- glog
|
||||||
- RCT-Folly (= 2021.06.28.00-v2)
|
- RCT-Folly (= 2021.07.22.00)
|
||||||
- React-Core/Default
|
- React-Core/Default
|
||||||
- React-cxxreact (= 0.69.7)
|
- React-cxxreact
|
||||||
- React-jsi (= 0.69.7)
|
- React-jsc
|
||||||
- React-jsiexecutor (= 0.69.7)
|
- React-jsi
|
||||||
- React-perflogger (= 0.69.7)
|
- React-jsiexecutor
|
||||||
|
- React-perflogger
|
||||||
|
- React-runtimeexecutor
|
||||||
|
- React-utils
|
||||||
|
- SocketRocket (= 0.6.0)
|
||||||
- Yoga
|
- Yoga
|
||||||
- React-Core/RCTImageHeaders (0.69.7):
|
- React-Core/RCTImageHeaders (0.72.0):
|
||||||
- glog
|
- glog
|
||||||
- RCT-Folly (= 2021.06.28.00-v2)
|
- RCT-Folly (= 2021.07.22.00)
|
||||||
- React-Core/Default
|
- React-Core/Default
|
||||||
- React-cxxreact (= 0.69.7)
|
- React-cxxreact
|
||||||
- React-jsi (= 0.69.7)
|
- React-jsc
|
||||||
- React-jsiexecutor (= 0.69.7)
|
- React-jsi
|
||||||
- React-perflogger (= 0.69.7)
|
- React-jsiexecutor
|
||||||
|
- React-perflogger
|
||||||
|
- React-runtimeexecutor
|
||||||
|
- React-utils
|
||||||
|
- SocketRocket (= 0.6.0)
|
||||||
- Yoga
|
- Yoga
|
||||||
- React-Core/RCTLinkingHeaders (0.69.7):
|
- React-Core/RCTLinkingHeaders (0.72.0):
|
||||||
- glog
|
- glog
|
||||||
- RCT-Folly (= 2021.06.28.00-v2)
|
- RCT-Folly (= 2021.07.22.00)
|
||||||
- React-Core/Default
|
- React-Core/Default
|
||||||
- React-cxxreact (= 0.69.7)
|
- React-cxxreact
|
||||||
- React-jsi (= 0.69.7)
|
- React-jsc
|
||||||
- React-jsiexecutor (= 0.69.7)
|
- React-jsi
|
||||||
- React-perflogger (= 0.69.7)
|
- React-jsiexecutor
|
||||||
|
- React-perflogger
|
||||||
|
- React-runtimeexecutor
|
||||||
|
- React-utils
|
||||||
|
- SocketRocket (= 0.6.0)
|
||||||
- Yoga
|
- Yoga
|
||||||
- React-Core/RCTNetworkHeaders (0.69.7):
|
- React-Core/RCTNetworkHeaders (0.72.0):
|
||||||
- glog
|
- glog
|
||||||
- RCT-Folly (= 2021.06.28.00-v2)
|
- RCT-Folly (= 2021.07.22.00)
|
||||||
- React-Core/Default
|
- React-Core/Default
|
||||||
- React-cxxreact (= 0.69.7)
|
- React-cxxreact
|
||||||
- React-jsi (= 0.69.7)
|
- React-jsc
|
||||||
- React-jsiexecutor (= 0.69.7)
|
- React-jsi
|
||||||
- React-perflogger (= 0.69.7)
|
- React-jsiexecutor
|
||||||
|
- React-perflogger
|
||||||
|
- React-runtimeexecutor
|
||||||
|
- React-utils
|
||||||
|
- SocketRocket (= 0.6.0)
|
||||||
- Yoga
|
- Yoga
|
||||||
- React-Core/RCTSettingsHeaders (0.69.7):
|
- React-Core/RCTSettingsHeaders (0.72.0):
|
||||||
- glog
|
- glog
|
||||||
- RCT-Folly (= 2021.06.28.00-v2)
|
- RCT-Folly (= 2021.07.22.00)
|
||||||
- React-Core/Default
|
- React-Core/Default
|
||||||
- React-cxxreact (= 0.69.7)
|
- React-cxxreact
|
||||||
- React-jsi (= 0.69.7)
|
- React-jsc
|
||||||
- React-jsiexecutor (= 0.69.7)
|
- React-jsi
|
||||||
- React-perflogger (= 0.69.7)
|
- React-jsiexecutor
|
||||||
|
- React-perflogger
|
||||||
|
- React-runtimeexecutor
|
||||||
|
- React-utils
|
||||||
|
- SocketRocket (= 0.6.0)
|
||||||
- Yoga
|
- Yoga
|
||||||
- React-Core/RCTTextHeaders (0.69.7):
|
- React-Core/RCTTextHeaders (0.72.0):
|
||||||
- glog
|
- glog
|
||||||
- RCT-Folly (= 2021.06.28.00-v2)
|
- RCT-Folly (= 2021.07.22.00)
|
||||||
- React-Core/Default
|
- React-Core/Default
|
||||||
- React-cxxreact (= 0.69.7)
|
- React-cxxreact
|
||||||
- React-jsi (= 0.69.7)
|
- React-jsc
|
||||||
- React-jsiexecutor (= 0.69.7)
|
- React-jsi
|
||||||
- React-perflogger (= 0.69.7)
|
- React-jsiexecutor
|
||||||
|
- React-perflogger
|
||||||
|
- React-runtimeexecutor
|
||||||
|
- React-utils
|
||||||
|
- SocketRocket (= 0.6.0)
|
||||||
- Yoga
|
- Yoga
|
||||||
- React-Core/RCTVibrationHeaders (0.69.7):
|
- React-Core/RCTVibrationHeaders (0.72.0):
|
||||||
- glog
|
- glog
|
||||||
- RCT-Folly (= 2021.06.28.00-v2)
|
- RCT-Folly (= 2021.07.22.00)
|
||||||
- React-Core/Default
|
- React-Core/Default
|
||||||
- React-cxxreact (= 0.69.7)
|
- React-cxxreact
|
||||||
- React-jsi (= 0.69.7)
|
- React-jsc
|
||||||
- React-jsiexecutor (= 0.69.7)
|
- React-jsi
|
||||||
- React-perflogger (= 0.69.7)
|
- React-jsiexecutor
|
||||||
|
- React-perflogger
|
||||||
|
- React-runtimeexecutor
|
||||||
|
- React-utils
|
||||||
|
- SocketRocket (= 0.6.0)
|
||||||
- Yoga
|
- Yoga
|
||||||
- React-Core/RCTWebSocket (0.69.7):
|
- React-Core/RCTWebSocket (0.72.0):
|
||||||
- glog
|
- glog
|
||||||
- RCT-Folly (= 2021.06.28.00-v2)
|
- RCT-Folly (= 2021.07.22.00)
|
||||||
- React-Core/Default (= 0.69.7)
|
- React-Core/Default (= 0.72.0)
|
||||||
- React-cxxreact (= 0.69.7)
|
- React-cxxreact
|
||||||
- React-jsi (= 0.69.7)
|
- React-jsc
|
||||||
- React-jsiexecutor (= 0.69.7)
|
- React-jsi
|
||||||
- React-perflogger (= 0.69.7)
|
- React-jsiexecutor
|
||||||
|
- React-perflogger
|
||||||
|
- React-runtimeexecutor
|
||||||
|
- React-utils
|
||||||
|
- SocketRocket (= 0.6.0)
|
||||||
- Yoga
|
- Yoga
|
||||||
- React-CoreModules (0.69.7):
|
- React-CoreModules (0.72.0):
|
||||||
- RCT-Folly (= 2021.06.28.00-v2)
|
- RCT-Folly (= 2021.07.22.00)
|
||||||
- RCTTypeSafety (= 0.69.7)
|
- RCTTypeSafety (= 0.72.0)
|
||||||
- React-Codegen (= 0.69.7)
|
- React-Codegen (= 0.72.0)
|
||||||
- React-Core/CoreModulesHeaders (= 0.69.7)
|
- React-Core/CoreModulesHeaders (= 0.72.0)
|
||||||
- React-jsi (= 0.69.7)
|
- React-jsi (= 0.72.0)
|
||||||
- React-RCTImage (= 0.69.7)
|
- React-RCTBlob
|
||||||
- ReactCommon/turbomodule/core (= 0.69.7)
|
- React-RCTImage (= 0.72.0)
|
||||||
- React-cxxreact (0.69.7):
|
- ReactCommon/turbomodule/core (= 0.72.0)
|
||||||
|
- SocketRocket (= 0.6.0)
|
||||||
|
- React-cxxreact (0.72.0):
|
||||||
- boost (= 1.76.0)
|
- boost (= 1.76.0)
|
||||||
- DoubleConversion
|
- DoubleConversion
|
||||||
- glog
|
- glog
|
||||||
- RCT-Folly (= 2021.06.28.00-v2)
|
- RCT-Folly (= 2021.07.22.00)
|
||||||
- React-callinvoker (= 0.69.7)
|
- React-callinvoker (= 0.72.0)
|
||||||
- React-jsi (= 0.69.7)
|
- React-jsi (= 0.72.0)
|
||||||
- React-jsinspector (= 0.69.7)
|
- React-jsinspector (= 0.72.0)
|
||||||
- React-logger (= 0.69.7)
|
- React-logger (= 0.72.0)
|
||||||
- React-perflogger (= 0.69.7)
|
- React-perflogger (= 0.72.0)
|
||||||
- React-runtimeexecutor (= 0.69.7)
|
- React-runtimeexecutor (= 0.72.0)
|
||||||
- React-jsi (0.69.7):
|
- React-debug (0.72.0)
|
||||||
|
- React-jsc (0.72.0):
|
||||||
|
- React-jsc/Fabric (= 0.72.0)
|
||||||
|
- React-jsi (= 0.72.0)
|
||||||
|
- React-jsc/Fabric (0.72.0):
|
||||||
|
- React-jsi (= 0.72.0)
|
||||||
|
- React-jsi (0.72.0):
|
||||||
- boost (= 1.76.0)
|
- boost (= 1.76.0)
|
||||||
- DoubleConversion
|
- DoubleConversion
|
||||||
- glog
|
- glog
|
||||||
- RCT-Folly (= 2021.06.28.00-v2)
|
- RCT-Folly (= 2021.07.22.00)
|
||||||
- React-jsi/Default (= 0.69.7)
|
- React-jsiexecutor (0.72.0):
|
||||||
- React-jsi/Default (0.69.7):
|
|
||||||
- boost (= 1.76.0)
|
|
||||||
- DoubleConversion
|
- DoubleConversion
|
||||||
- glog
|
- glog
|
||||||
- RCT-Folly (= 2021.06.28.00-v2)
|
- RCT-Folly (= 2021.07.22.00)
|
||||||
- React-jsiexecutor (0.69.7):
|
- React-cxxreact (= 0.72.0)
|
||||||
- DoubleConversion
|
- React-jsi (= 0.72.0)
|
||||||
- glog
|
- React-perflogger (= 0.72.0)
|
||||||
- RCT-Folly (= 2021.06.28.00-v2)
|
- React-jsinspector (0.72.0)
|
||||||
- React-cxxreact (= 0.69.7)
|
- React-logger (0.72.0):
|
||||||
- React-jsi (= 0.69.7)
|
|
||||||
- React-perflogger (= 0.69.7)
|
|
||||||
- React-jsinspector (0.69.7)
|
|
||||||
- React-logger (0.69.7):
|
|
||||||
- glog
|
- glog
|
||||||
- react-native-actions-shortcuts (1.0.1):
|
- react-native-actions-shortcuts (1.0.1):
|
||||||
- React
|
- React
|
||||||
@@ -239,9 +301,9 @@ PODS:
|
|||||||
- React
|
- React
|
||||||
- react-native-blob-util (0.17.3):
|
- react-native-blob-util (0.17.3):
|
||||||
- React-Core
|
- React-Core
|
||||||
- react-native-config (1.4.11):
|
- react-native-config (1.5.1):
|
||||||
- react-native-config/App (= 1.4.11)
|
- react-native-config/App (= 1.5.1)
|
||||||
- react-native-config/App (1.4.11):
|
- react-native-config/App (1.5.1):
|
||||||
- React-Core
|
- React-Core
|
||||||
- react-native-date-picker (4.2.6):
|
- react-native-date-picker (4.2.6):
|
||||||
- React-Core
|
- React-Core
|
||||||
@@ -249,7 +311,7 @@ PODS:
|
|||||||
- React-Core
|
- React-Core
|
||||||
- react-native-fingerprint-scanner (5.0.0):
|
- react-native-fingerprint-scanner (5.0.0):
|
||||||
- React-Core
|
- React-Core
|
||||||
- react-native-get-random-values (1.8.0):
|
- react-native-get-random-values (1.9.0):
|
||||||
- React-Core
|
- React-Core
|
||||||
- react-native-gzip (1.0.0):
|
- react-native-gzip (1.0.0):
|
||||||
- Base64
|
- Base64
|
||||||
@@ -263,12 +325,12 @@ PODS:
|
|||||||
- React-Core
|
- React-Core
|
||||||
- react-native-in-app-review (4.3.3):
|
- react-native-in-app-review (4.3.3):
|
||||||
- React-Core
|
- React-Core
|
||||||
- react-native-keep-awake (1.1.0):
|
- react-native-keep-awake (1.2.0):
|
||||||
- React-Core
|
- React-Core
|
||||||
- react-native-mmkv-storage (0.8.0):
|
- react-native-mmkv-storage (0.9.1):
|
||||||
- MMKV (= 1.2.13)
|
- MMKV (= 1.2.13)
|
||||||
- React-Core
|
- React-Core
|
||||||
- react-native-netinfo (9.3.7):
|
- react-native-netinfo (9.3.10):
|
||||||
- React-Core
|
- React-Core
|
||||||
- react-native-notification-sounds (0.5.5):
|
- react-native-notification-sounds (0.5.5):
|
||||||
- React
|
- React
|
||||||
@@ -276,91 +338,131 @@ PODS:
|
|||||||
- React
|
- React
|
||||||
- react-native-pdf (6.6.2):
|
- react-native-pdf (6.6.2):
|
||||||
- React-Core
|
- React-Core
|
||||||
- react-native-safe-area-context (4.4.1):
|
- react-native-safe-area-context (4.6.3):
|
||||||
- RCT-Folly
|
- RCT-Folly
|
||||||
- RCTRequired
|
- RCTRequired
|
||||||
- RCTTypeSafety
|
- RCTTypeSafety
|
||||||
- React-Core
|
- React-Core
|
||||||
- ReactCommon/turbomodule/core
|
- ReactCommon/turbomodule/core
|
||||||
- react-native-share-extension (2.5.5):
|
- react-native-share-extension (2.5.6):
|
||||||
- React
|
- React
|
||||||
- react-native-sodium (1.4.1):
|
- react-native-sodium (1.4.1):
|
||||||
- React
|
- React
|
||||||
- react-native-webview (11.23.1):
|
- react-native-webview (11.26.1):
|
||||||
- React-Core
|
- React-Core
|
||||||
- React-perflogger (0.69.7)
|
- React-NativeModulesApple (0.72.0):
|
||||||
- React-RCTActionSheet (0.69.7):
|
- React-callinvoker
|
||||||
- React-Core/RCTActionSheetHeaders (= 0.69.7)
|
- React-Core
|
||||||
- React-RCTAnimation (0.69.7):
|
- React-cxxreact
|
||||||
- RCT-Folly (= 2021.06.28.00-v2)
|
- React-jsi
|
||||||
- RCTTypeSafety (= 0.69.7)
|
- React-runtimeexecutor
|
||||||
- React-Codegen (= 0.69.7)
|
- ReactCommon/turbomodule/bridging
|
||||||
- React-Core/RCTAnimationHeaders (= 0.69.7)
|
- ReactCommon/turbomodule/core
|
||||||
- React-jsi (= 0.69.7)
|
- React-perflogger (0.72.0)
|
||||||
- ReactCommon/turbomodule/core (= 0.69.7)
|
- React-RCTActionSheet (0.72.0):
|
||||||
- React-RCTBlob (0.69.7):
|
- React-Core/RCTActionSheetHeaders (= 0.72.0)
|
||||||
- RCT-Folly (= 2021.06.28.00-v2)
|
- React-RCTAnimation (0.72.0):
|
||||||
- React-Codegen (= 0.69.7)
|
- RCT-Folly (= 2021.07.22.00)
|
||||||
- React-Core/RCTBlobHeaders (= 0.69.7)
|
- RCTTypeSafety (= 0.72.0)
|
||||||
- React-Core/RCTWebSocket (= 0.69.7)
|
- React-Codegen (= 0.72.0)
|
||||||
- React-jsi (= 0.69.7)
|
- React-Core/RCTAnimationHeaders (= 0.72.0)
|
||||||
- React-RCTNetwork (= 0.69.7)
|
- React-jsi (= 0.72.0)
|
||||||
- ReactCommon/turbomodule/core (= 0.69.7)
|
- ReactCommon/turbomodule/core (= 0.72.0)
|
||||||
- React-RCTImage (0.69.7):
|
- React-RCTAppDelegate (0.72.0):
|
||||||
- RCT-Folly (= 2021.06.28.00-v2)
|
- RCT-Folly
|
||||||
- RCTTypeSafety (= 0.69.7)
|
- RCTRequired
|
||||||
- React-Codegen (= 0.69.7)
|
- RCTTypeSafety
|
||||||
- React-Core/RCTImageHeaders (= 0.69.7)
|
- React-Core
|
||||||
- React-jsi (= 0.69.7)
|
- React-CoreModules
|
||||||
- React-RCTNetwork (= 0.69.7)
|
- React-jsc
|
||||||
- ReactCommon/turbomodule/core (= 0.69.7)
|
- React-NativeModulesApple
|
||||||
- React-RCTLinking (0.69.7):
|
- React-RCTImage
|
||||||
- React-Codegen (= 0.69.7)
|
- React-RCTNetwork
|
||||||
- React-Core/RCTLinkingHeaders (= 0.69.7)
|
- React-runtimescheduler
|
||||||
- React-jsi (= 0.69.7)
|
- ReactCommon/turbomodule/core
|
||||||
- ReactCommon/turbomodule/core (= 0.69.7)
|
- React-RCTBlob (0.72.0):
|
||||||
- React-RCTNetwork (0.69.7):
|
- RCT-Folly (= 2021.07.22.00)
|
||||||
- RCT-Folly (= 2021.06.28.00-v2)
|
- React-Codegen (= 0.72.0)
|
||||||
- RCTTypeSafety (= 0.69.7)
|
- React-Core/RCTBlobHeaders (= 0.72.0)
|
||||||
- React-Codegen (= 0.69.7)
|
- React-Core/RCTWebSocket (= 0.72.0)
|
||||||
- React-Core/RCTNetworkHeaders (= 0.69.7)
|
- React-jsi (= 0.72.0)
|
||||||
- React-jsi (= 0.69.7)
|
- React-RCTNetwork (= 0.72.0)
|
||||||
- ReactCommon/turbomodule/core (= 0.69.7)
|
- ReactCommon/turbomodule/core (= 0.72.0)
|
||||||
- React-RCTSettings (0.69.7):
|
- React-RCTImage (0.72.0):
|
||||||
- RCT-Folly (= 2021.06.28.00-v2)
|
- RCT-Folly (= 2021.07.22.00)
|
||||||
- RCTTypeSafety (= 0.69.7)
|
- RCTTypeSafety (= 0.72.0)
|
||||||
- React-Codegen (= 0.69.7)
|
- React-Codegen (= 0.72.0)
|
||||||
- React-Core/RCTSettingsHeaders (= 0.69.7)
|
- React-Core/RCTImageHeaders (= 0.72.0)
|
||||||
- React-jsi (= 0.69.7)
|
- React-jsi (= 0.72.0)
|
||||||
- ReactCommon/turbomodule/core (= 0.69.7)
|
- React-RCTNetwork (= 0.72.0)
|
||||||
- React-RCTText (0.69.7):
|
- ReactCommon/turbomodule/core (= 0.72.0)
|
||||||
- React-Core/RCTTextHeaders (= 0.69.7)
|
- React-RCTLinking (0.72.0):
|
||||||
- React-RCTVibration (0.69.7):
|
- React-Codegen (= 0.72.0)
|
||||||
- RCT-Folly (= 2021.06.28.00-v2)
|
- React-Core/RCTLinkingHeaders (= 0.72.0)
|
||||||
- React-Codegen (= 0.69.7)
|
- React-jsi (= 0.72.0)
|
||||||
- React-Core/RCTVibrationHeaders (= 0.69.7)
|
- ReactCommon/turbomodule/core (= 0.72.0)
|
||||||
- React-jsi (= 0.69.7)
|
- React-RCTNetwork (0.72.0):
|
||||||
- ReactCommon/turbomodule/core (= 0.69.7)
|
- RCT-Folly (= 2021.07.22.00)
|
||||||
- React-runtimeexecutor (0.69.7):
|
- RCTTypeSafety (= 0.72.0)
|
||||||
- React-jsi (= 0.69.7)
|
- React-Codegen (= 0.72.0)
|
||||||
- ReactCommon/turbomodule/core (0.69.7):
|
- React-Core/RCTNetworkHeaders (= 0.72.0)
|
||||||
|
- React-jsi (= 0.72.0)
|
||||||
|
- ReactCommon/turbomodule/core (= 0.72.0)
|
||||||
|
- React-RCTSettings (0.72.0):
|
||||||
|
- RCT-Folly (= 2021.07.22.00)
|
||||||
|
- RCTTypeSafety (= 0.72.0)
|
||||||
|
- React-Codegen (= 0.72.0)
|
||||||
|
- React-Core/RCTSettingsHeaders (= 0.72.0)
|
||||||
|
- React-jsi (= 0.72.0)
|
||||||
|
- ReactCommon/turbomodule/core (= 0.72.0)
|
||||||
|
- React-RCTText (0.72.0):
|
||||||
|
- React-Core/RCTTextHeaders (= 0.72.0)
|
||||||
|
- React-RCTVibration (0.72.0):
|
||||||
|
- RCT-Folly (= 2021.07.22.00)
|
||||||
|
- React-Codegen (= 0.72.0)
|
||||||
|
- React-Core/RCTVibrationHeaders (= 0.72.0)
|
||||||
|
- React-jsi (= 0.72.0)
|
||||||
|
- ReactCommon/turbomodule/core (= 0.72.0)
|
||||||
|
- React-rncore (0.72.0)
|
||||||
|
- React-runtimeexecutor (0.72.0):
|
||||||
|
- React-jsi (= 0.72.0)
|
||||||
|
- React-runtimescheduler (0.72.0):
|
||||||
|
- glog
|
||||||
|
- RCT-Folly (= 2021.07.22.00)
|
||||||
|
- React-callinvoker
|
||||||
|
- React-debug
|
||||||
|
- React-jsi
|
||||||
|
- React-runtimeexecutor
|
||||||
|
- React-utils (0.72.0):
|
||||||
|
- glog
|
||||||
|
- RCT-Folly (= 2021.07.22.00)
|
||||||
|
- React-debug
|
||||||
|
- ReactCommon/turbomodule/bridging (0.72.0):
|
||||||
- DoubleConversion
|
- DoubleConversion
|
||||||
- glog
|
- glog
|
||||||
- RCT-Folly (= 2021.06.28.00-v2)
|
- RCT-Folly (= 2021.07.22.00)
|
||||||
- React-bridging (= 0.69.7)
|
- React-callinvoker (= 0.72.0)
|
||||||
- React-callinvoker (= 0.69.7)
|
- React-cxxreact (= 0.72.0)
|
||||||
- React-Core (= 0.69.7)
|
- React-jsi (= 0.72.0)
|
||||||
- React-cxxreact (= 0.69.7)
|
- React-logger (= 0.72.0)
|
||||||
- React-jsi (= 0.69.7)
|
- React-perflogger (= 0.72.0)
|
||||||
- React-logger (= 0.69.7)
|
- ReactCommon/turbomodule/core (0.72.0):
|
||||||
- React-perflogger (= 0.69.7)
|
- DoubleConversion
|
||||||
|
- glog
|
||||||
|
- RCT-Folly (= 2021.07.22.00)
|
||||||
|
- React-callinvoker (= 0.72.0)
|
||||||
|
- React-cxxreact (= 0.72.0)
|
||||||
|
- React-jsi (= 0.72.0)
|
||||||
|
- React-logger (= 0.72.0)
|
||||||
|
- React-perflogger (= 0.72.0)
|
||||||
- RNBootSplash (4.1.4):
|
- RNBootSplash (4.1.4):
|
||||||
- React-Core
|
- React-Core
|
||||||
- RNCCheckbox (0.5.12):
|
- RNCCheckbox (0.5.15):
|
||||||
|
- BEMCheckBox (~> 1.4)
|
||||||
- React-Core
|
- React-Core
|
||||||
- RNCClipboard (1.11.1):
|
- RNCClipboard (1.11.2):
|
||||||
- React-Core
|
- React-Core
|
||||||
- RNCMaskedView (0.2.8):
|
- RNCMaskedView (0.2.9):
|
||||||
- React-Core
|
- React-Core
|
||||||
- RNDateTimePicker (6.6.0):
|
- RNDateTimePicker (6.6.0):
|
||||||
- React-Core
|
- React-Core
|
||||||
@@ -372,7 +474,7 @@ PODS:
|
|||||||
- React-Core
|
- React-Core
|
||||||
- RNFlashList (1.4.0):
|
- RNFlashList (1.4.0):
|
||||||
- React-Core
|
- React-Core
|
||||||
- RNGestureHandler (2.7.1):
|
- RNGestureHandler (2.12.0):
|
||||||
- React-Core
|
- React-Core
|
||||||
- RNIap (7.5.6):
|
- RNIap (7.5.6):
|
||||||
- React-Core
|
- React-Core
|
||||||
@@ -385,10 +487,9 @@ PODS:
|
|||||||
- React-Core
|
- React-Core
|
||||||
- RNPrivacySnapshot (1.0.0):
|
- RNPrivacySnapshot (1.0.0):
|
||||||
- React-Core
|
- React-Core
|
||||||
- RNReanimated (2.13.0):
|
- RNReanimated (3.3.0):
|
||||||
- DoubleConversion
|
- DoubleConversion
|
||||||
- FBLazyVector
|
- FBLazyVector
|
||||||
- FBReactNativeSpec
|
|
||||||
- glog
|
- glog
|
||||||
- RCT-Folly
|
- RCT-Folly
|
||||||
- RCTRequired
|
- RCTRequired
|
||||||
@@ -404,6 +505,7 @@ PODS:
|
|||||||
- React-jsinspector
|
- React-jsinspector
|
||||||
- React-RCTActionSheet
|
- React-RCTActionSheet
|
||||||
- React-RCTAnimation
|
- React-RCTAnimation
|
||||||
|
- React-RCTAppDelegate
|
||||||
- React-RCTBlob
|
- React-RCTBlob
|
||||||
- React-RCTImage
|
- React-RCTImage
|
||||||
- React-RCTLinking
|
- React-RCTLinking
|
||||||
@@ -412,14 +514,14 @@ PODS:
|
|||||||
- React-RCTText
|
- React-RCTText
|
||||||
- ReactCommon/turbomodule/core
|
- ReactCommon/turbomodule/core
|
||||||
- Yoga
|
- Yoga
|
||||||
- RNScreens (3.18.2):
|
- RNScreens (3.21.1):
|
||||||
- React-Core
|
- React-Core
|
||||||
- React-RCTImage
|
- React-RCTImage
|
||||||
- RNSecureRandom (1.0.1):
|
- RNSecureRandom (1.0.1):
|
||||||
- React
|
- React
|
||||||
- RNShare (7.9.1):
|
- RNShare (7.9.1):
|
||||||
- React-Core
|
- React-Core
|
||||||
- RNSVG (12.4.4):
|
- RNSVG (12.5.1):
|
||||||
- React-Core
|
- React-Core
|
||||||
- RNTooltips (1.0.3):
|
- RNTooltips (1.0.3):
|
||||||
- pop (~> 1.0)
|
- pop (~> 1.0)
|
||||||
@@ -434,6 +536,7 @@ PODS:
|
|||||||
- SSZipArchive (~> 2.2)
|
- SSZipArchive (~> 2.2)
|
||||||
- SexyTooltip (1.2.5):
|
- SexyTooltip (1.2.5):
|
||||||
- pop (~> 1.0)
|
- pop (~> 1.0)
|
||||||
|
- SocketRocket (0.6.0)
|
||||||
- SSZipArchive (2.4.3)
|
- SSZipArchive (2.4.3)
|
||||||
- SwiftyRSA (1.7.0):
|
- SwiftyRSA (1.7.0):
|
||||||
- SwiftyRSA/ObjC (= 1.7.0)
|
- SwiftyRSA/ObjC (= 1.7.0)
|
||||||
@@ -455,13 +558,14 @@ DEPENDENCIES:
|
|||||||
- RCTRequired (from `../../node_modules/react-native/Libraries/RCTRequired`)
|
- RCTRequired (from `../../node_modules/react-native/Libraries/RCTRequired`)
|
||||||
- RCTTypeSafety (from `../../node_modules/react-native/Libraries/TypeSafety`)
|
- RCTTypeSafety (from `../../node_modules/react-native/Libraries/TypeSafety`)
|
||||||
- React (from `../../node_modules/react-native/`)
|
- React (from `../../node_modules/react-native/`)
|
||||||
- React-bridging (from `../../node_modules/react-native/ReactCommon`)
|
|
||||||
- React-callinvoker (from `../../node_modules/react-native/ReactCommon/callinvoker`)
|
- React-callinvoker (from `../../node_modules/react-native/ReactCommon/callinvoker`)
|
||||||
- React-Codegen (from `build/generated/ios`)
|
- React-Codegen (from `build/generated/ios`)
|
||||||
- React-Core (from `../../node_modules/react-native/`)
|
- React-Core (from `../../node_modules/react-native/`)
|
||||||
- React-Core/RCTWebSocket (from `../../node_modules/react-native/`)
|
- React-Core/RCTWebSocket (from `../../node_modules/react-native/`)
|
||||||
- React-CoreModules (from `../../node_modules/react-native/React/CoreModules`)
|
- React-CoreModules (from `../../node_modules/react-native/React/CoreModules`)
|
||||||
- React-cxxreact (from `../../node_modules/react-native/ReactCommon/cxxreact`)
|
- React-cxxreact (from `../../node_modules/react-native/ReactCommon/cxxreact`)
|
||||||
|
- React-debug (from `../../node_modules/react-native/ReactCommon/react/debug`)
|
||||||
|
- React-jsc (from `../../node_modules/react-native/ReactCommon/jsc`)
|
||||||
- React-jsi (from `../../node_modules/react-native/ReactCommon/jsi`)
|
- React-jsi (from `../../node_modules/react-native/ReactCommon/jsi`)
|
||||||
- React-jsiexecutor (from `../../node_modules/react-native/ReactCommon/jsiexecutor`)
|
- React-jsiexecutor (from `../../node_modules/react-native/ReactCommon/jsiexecutor`)
|
||||||
- React-jsinspector (from `../../node_modules/react-native/ReactCommon/jsinspector`)
|
- React-jsinspector (from `../../node_modules/react-native/ReactCommon/jsinspector`)
|
||||||
@@ -490,9 +594,11 @@ DEPENDENCIES:
|
|||||||
- "react-native-share-extension (from `../../node_modules/@ammarahmed/react-native-share-extension`)"
|
- "react-native-share-extension (from `../../node_modules/@ammarahmed/react-native-share-extension`)"
|
||||||
- "react-native-sodium (from `../../node_modules/@ammarahmed/react-native-sodium`)"
|
- "react-native-sodium (from `../../node_modules/@ammarahmed/react-native-sodium`)"
|
||||||
- react-native-webview (from `../../node_modules/react-native-webview`)
|
- react-native-webview (from `../../node_modules/react-native-webview`)
|
||||||
|
- React-NativeModulesApple (from `../../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios`)
|
||||||
- React-perflogger (from `../../node_modules/react-native/ReactCommon/reactperflogger`)
|
- React-perflogger (from `../../node_modules/react-native/ReactCommon/reactperflogger`)
|
||||||
- React-RCTActionSheet (from `../../node_modules/react-native/Libraries/ActionSheetIOS`)
|
- React-RCTActionSheet (from `../../node_modules/react-native/Libraries/ActionSheetIOS`)
|
||||||
- React-RCTAnimation (from `../../node_modules/react-native/Libraries/NativeAnimation`)
|
- React-RCTAnimation (from `../../node_modules/react-native/Libraries/NativeAnimation`)
|
||||||
|
- React-RCTAppDelegate (from `../../node_modules/react-native/Libraries/AppDelegate`)
|
||||||
- React-RCTBlob (from `../../node_modules/react-native/Libraries/Blob`)
|
- React-RCTBlob (from `../../node_modules/react-native/Libraries/Blob`)
|
||||||
- React-RCTImage (from `../../node_modules/react-native/Libraries/Image`)
|
- React-RCTImage (from `../../node_modules/react-native/Libraries/Image`)
|
||||||
- React-RCTLinking (from `../../node_modules/react-native/Libraries/LinkingIOS`)
|
- React-RCTLinking (from `../../node_modules/react-native/Libraries/LinkingIOS`)
|
||||||
@@ -500,7 +606,10 @@ DEPENDENCIES:
|
|||||||
- React-RCTSettings (from `../../node_modules/react-native/Libraries/Settings`)
|
- React-RCTSettings (from `../../node_modules/react-native/Libraries/Settings`)
|
||||||
- React-RCTText (from `../../node_modules/react-native/Libraries/Text`)
|
- React-RCTText (from `../../node_modules/react-native/Libraries/Text`)
|
||||||
- React-RCTVibration (from `../../node_modules/react-native/Libraries/Vibration`)
|
- React-RCTVibration (from `../../node_modules/react-native/Libraries/Vibration`)
|
||||||
|
- React-rncore (from `../../node_modules/react-native/ReactCommon`)
|
||||||
- React-runtimeexecutor (from `../../node_modules/react-native/ReactCommon/runtimeexecutor`)
|
- React-runtimeexecutor (from `../../node_modules/react-native/ReactCommon/runtimeexecutor`)
|
||||||
|
- React-runtimescheduler (from `../../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler`)
|
||||||
|
- React-utils (from `../../node_modules/react-native/ReactCommon/react/utils`)
|
||||||
- ReactCommon/turbomodule/core (from `../../node_modules/react-native/ReactCommon`)
|
- ReactCommon/turbomodule/core (from `../../node_modules/react-native/ReactCommon`)
|
||||||
- RNBootSplash (from `../../node_modules/react-native-bootsplash`)
|
- RNBootSplash (from `../../node_modules/react-native-bootsplash`)
|
||||||
- "RNCCheckbox (from `../../node_modules/@react-native-community/checkbox`)"
|
- "RNCCheckbox (from `../../node_modules/@react-native-community/checkbox`)"
|
||||||
@@ -530,12 +639,14 @@ DEPENDENCIES:
|
|||||||
SPEC REPOS:
|
SPEC REPOS:
|
||||||
trunk:
|
trunk:
|
||||||
- Base64
|
- Base64
|
||||||
|
- BEMCheckBox
|
||||||
- fmt
|
- fmt
|
||||||
- GZIP
|
- GZIP
|
||||||
- JWTDecode
|
- JWTDecode
|
||||||
- MMKV
|
- MMKV
|
||||||
- MMKVCore
|
- MMKVCore
|
||||||
- pop
|
- pop
|
||||||
|
- SocketRocket
|
||||||
- SSZipArchive
|
- SSZipArchive
|
||||||
- SwiftyRSA
|
- SwiftyRSA
|
||||||
|
|
||||||
@@ -560,8 +671,6 @@ EXTERNAL SOURCES:
|
|||||||
:path: "../../node_modules/react-native/Libraries/TypeSafety"
|
:path: "../../node_modules/react-native/Libraries/TypeSafety"
|
||||||
React:
|
React:
|
||||||
:path: "../../node_modules/react-native/"
|
:path: "../../node_modules/react-native/"
|
||||||
React-bridging:
|
|
||||||
:path: "../../node_modules/react-native/ReactCommon"
|
|
||||||
React-callinvoker:
|
React-callinvoker:
|
||||||
:path: "../../node_modules/react-native/ReactCommon/callinvoker"
|
:path: "../../node_modules/react-native/ReactCommon/callinvoker"
|
||||||
React-Codegen:
|
React-Codegen:
|
||||||
@@ -572,6 +681,10 @@ EXTERNAL SOURCES:
|
|||||||
:path: "../../node_modules/react-native/React/CoreModules"
|
:path: "../../node_modules/react-native/React/CoreModules"
|
||||||
React-cxxreact:
|
React-cxxreact:
|
||||||
:path: "../../node_modules/react-native/ReactCommon/cxxreact"
|
:path: "../../node_modules/react-native/ReactCommon/cxxreact"
|
||||||
|
React-debug:
|
||||||
|
:path: "../../node_modules/react-native/ReactCommon/react/debug"
|
||||||
|
React-jsc:
|
||||||
|
:path: "../../node_modules/react-native/ReactCommon/jsc"
|
||||||
React-jsi:
|
React-jsi:
|
||||||
:path: "../../node_modules/react-native/ReactCommon/jsi"
|
:path: "../../node_modules/react-native/ReactCommon/jsi"
|
||||||
React-jsiexecutor:
|
React-jsiexecutor:
|
||||||
@@ -628,12 +741,16 @@ EXTERNAL SOURCES:
|
|||||||
:path: "../../node_modules/@ammarahmed/react-native-sodium"
|
:path: "../../node_modules/@ammarahmed/react-native-sodium"
|
||||||
react-native-webview:
|
react-native-webview:
|
||||||
:path: "../../node_modules/react-native-webview"
|
:path: "../../node_modules/react-native-webview"
|
||||||
|
React-NativeModulesApple:
|
||||||
|
:path: "../../node_modules/react-native/ReactCommon/react/nativemodule/core/platform/ios"
|
||||||
React-perflogger:
|
React-perflogger:
|
||||||
:path: "../../node_modules/react-native/ReactCommon/reactperflogger"
|
:path: "../../node_modules/react-native/ReactCommon/reactperflogger"
|
||||||
React-RCTActionSheet:
|
React-RCTActionSheet:
|
||||||
:path: "../../node_modules/react-native/Libraries/ActionSheetIOS"
|
:path: "../../node_modules/react-native/Libraries/ActionSheetIOS"
|
||||||
React-RCTAnimation:
|
React-RCTAnimation:
|
||||||
:path: "../../node_modules/react-native/Libraries/NativeAnimation"
|
:path: "../../node_modules/react-native/Libraries/NativeAnimation"
|
||||||
|
React-RCTAppDelegate:
|
||||||
|
:path: "../../node_modules/react-native/Libraries/AppDelegate"
|
||||||
React-RCTBlob:
|
React-RCTBlob:
|
||||||
:path: "../../node_modules/react-native/Libraries/Blob"
|
:path: "../../node_modules/react-native/Libraries/Blob"
|
||||||
React-RCTImage:
|
React-RCTImage:
|
||||||
@@ -648,8 +765,14 @@ EXTERNAL SOURCES:
|
|||||||
:path: "../../node_modules/react-native/Libraries/Text"
|
:path: "../../node_modules/react-native/Libraries/Text"
|
||||||
React-RCTVibration:
|
React-RCTVibration:
|
||||||
:path: "../../node_modules/react-native/Libraries/Vibration"
|
:path: "../../node_modules/react-native/Libraries/Vibration"
|
||||||
|
React-rncore:
|
||||||
|
:path: "../../node_modules/react-native/ReactCommon"
|
||||||
React-runtimeexecutor:
|
React-runtimeexecutor:
|
||||||
:path: "../../node_modules/react-native/ReactCommon/runtimeexecutor"
|
:path: "../../node_modules/react-native/ReactCommon/runtimeexecutor"
|
||||||
|
React-runtimescheduler:
|
||||||
|
:path: "../../node_modules/react-native/ReactCommon/react/renderer/runtimescheduler"
|
||||||
|
React-utils:
|
||||||
|
:path: "../../node_modules/react-native/ReactCommon/react/utils"
|
||||||
ReactCommon:
|
ReactCommon:
|
||||||
:path: "../../node_modules/react-native/ReactCommon"
|
:path: "../../node_modules/react-native/ReactCommon"
|
||||||
RNBootSplash:
|
RNBootSplash:
|
||||||
@@ -708,95 +831,103 @@ CHECKOUT OPTIONS:
|
|||||||
|
|
||||||
SPEC CHECKSUMS:
|
SPEC CHECKSUMS:
|
||||||
Base64: cecfb41a004124895a7bcee567a89bae5a89d49b
|
Base64: cecfb41a004124895a7bcee567a89bae5a89d49b
|
||||||
boost: a7c83b31436843459a1961bfd74b96033dc77234
|
BEMCheckBox: 5ba6e37ade3d3657b36caecc35c8b75c6c2b1a4e
|
||||||
|
boost: 57d2868c099736d80fcd648bf211b4431e51a558
|
||||||
callstack-repack: 3e48a96824e0e0411ae1f48749a2ab103aa62a3a
|
callstack-repack: 3e48a96824e0e0411ae1f48749a2ab103aa62a3a
|
||||||
DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54
|
DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54
|
||||||
FBLazyVector: 6b7f5692909b4300d50e7359cdefbcd09dd30faa
|
FBLazyVector: bb17efca94c43508cbe54fb0a35e36df30da5213
|
||||||
FBReactNativeSpec: f53cf57758c70c6bfba5230b739cd1071e7a6824
|
FBReactNativeSpec: edc3d9b5ec9e8142e73f245a8f685b4593b95d5a
|
||||||
fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9
|
fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9
|
||||||
glog: 3d02b25ca00c2d456734d0bcff864cbc62f6ae1a
|
glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b
|
||||||
GZIP: 416858efbe66b41b206895ac6dfd5493200d95b3
|
GZIP: 416858efbe66b41b206895ac6dfd5493200d95b3
|
||||||
JWTDecode: 2eed97c2fa46ccaf3049a787004eedf0be474a87
|
JWTDecode: 2eed97c2fa46ccaf3049a787004eedf0be474a87
|
||||||
MMKV: aac95d817a100479445633f2b3ed8961b4ac5043
|
MMKV: aac95d817a100479445633f2b3ed8961b4ac5043
|
||||||
MMKVCore: 3388952ded307e41b3ed8a05892736a236ed1b8e
|
MMKVCore: 3388952ded307e41b3ed8a05892736a236ed1b8e
|
||||||
pop: d582054913807fd11fd50bfe6a539d91c7e1a55a
|
pop: d582054913807fd11fd50bfe6a539d91c7e1a55a
|
||||||
RCT-Folly: b9d9fe1fc70114b751c076104e52f3b1b5e5a95a
|
RCT-Folly: 424b8c9a7a0b9ab2886ffe9c3b041ef628fd4fb1
|
||||||
RCTRequired: 54bff6aa61efd9598ab59d2a823c382b4fe13d27
|
RCTRequired: 656ef0536dd60a9740961ade6a64ba0cb0572d2b
|
||||||
RCTTypeSafety: 47632bfa768df7befde08e339a9847e6cff6ff78
|
RCTTypeSafety: 82bd23b63f043d1a6b8e80e72fd15c08e04528a4
|
||||||
React: 72a676de573cc5ee0e375e5535238af9a4bd435c
|
React: 4f2c0b59d1a1c0ae02771deb69e5ee78999fee79
|
||||||
React-bridging: 12b6677a30fbd46555a35aa6096331737a9af598
|
React-callinvoker: d5aa9fa6cd6b67d6033de2cb5af6de7ae3dac6ca
|
||||||
React-callinvoker: bb574a923c2281d01be23ed3b5d405caa583f56d
|
React-Codegen: 7dcfe258f856ac8381a905f0669435736bcfb5b9
|
||||||
React-Codegen: d714637fe411291f96f933a535eaf03a774a21c9
|
React-Core: fce0e8a04de16c69e766f26b652e7ca9927eda9b
|
||||||
React-Core: 138385d05068622b2b1873eee7dc5be9762f5383
|
React-CoreModules: b02ca7a4fb869bcbe4c0ed2c939d433f13a120c5
|
||||||
React-CoreModules: 3a9be624998677db102b19090b1c33c7564ead6d
|
React-cxxreact: 9738d95069cfbe030d5f44319c9b44028f442d82
|
||||||
React-cxxreact: eb24a767b0b811259947f3d538e7c999467e7131
|
React-debug: 77ab539975d81d27153e2998bc1214a2473cde01
|
||||||
React-jsi: 9c1cc1173fc8a24b094e01c54d8e3b567fed7edc
|
React-jsc: 3c0b9256529613da65281effc9ddf1067a2e075f
|
||||||
React-jsiexecutor: a73bec0218ba959fc92f811b581ad6c2270c6b6f
|
React-jsi: 26276762f73bf53c33c3d5252664c32ba4509f8b
|
||||||
React-jsinspector: 8134ee22182b8dd98dc0973db6266c398103ce6c
|
React-jsiexecutor: de4e98ab0f2661affeb54931806a79a93a34d1ea
|
||||||
React-logger: 1e7ac909607ee65fd5c4d8bea8c6e644f66b8843
|
React-jsinspector: 8d754fc957255a29d93e52fc67a895045cdc8703
|
||||||
|
React-logger: 454ffb01980778a43b0153ee98721d0275b56616
|
||||||
react-native-actions-shortcuts: 5d9cf0c9c308333dfcc1e05c3f9afa8c428e2533
|
react-native-actions-shortcuts: 5d9cf0c9c308333dfcc1e05c3f9afa8c428e2533
|
||||||
react-native-background-actions: 2c251c986f23347f9c1722f05fd296938f60edb1
|
react-native-background-actions: 2c251c986f23347f9c1722f05fd296938f60edb1
|
||||||
react-native-begin-background-task: 3b889e07458afc5822a7277cf9cbc7cd077e39ee
|
react-native-begin-background-task: 3b889e07458afc5822a7277cf9cbc7cd077e39ee
|
||||||
react-native-blob-util: 99f4d79189252f597fe0d810c57a3733b1b1dea6
|
react-native-blob-util: 99f4d79189252f597fe0d810c57a3733b1b1dea6
|
||||||
react-native-config: bcafda5b4c51491ee1b0e1d0c4e3905bc7b56c1b
|
react-native-config: 86038147314e2e6d10ea9972022aa171e6b1d4d8
|
||||||
react-native-date-picker: 93e43b3084cea595b4d68b1405d6d99849663bd6
|
react-native-date-picker: 93e43b3084cea595b4d68b1405d6d99849663bd6
|
||||||
react-native-document-picker: ec07866a30707f23660c0f3ae591d669d3e89096
|
react-native-document-picker: ec07866a30707f23660c0f3ae591d669d3e89096
|
||||||
react-native-fingerprint-scanner: be63e626b31fb951780a5fac5328b065a61a3d6e
|
react-native-fingerprint-scanner: be63e626b31fb951780a5fac5328b065a61a3d6e
|
||||||
react-native-get-random-values: a6ea6a8a65dc93e96e24a11105b1a9c8cfe1d72a
|
react-native-get-random-values: dee677497c6a740b71e5612e8dbd83e7539ed5bb
|
||||||
react-native-gzip: 02f9968afa759e189f0414d41f8f4a951a86b4f1
|
react-native-gzip: 02f9968afa759e189f0414d41f8f4a951a86b4f1
|
||||||
react-native-html-to-pdf-lite: 21bfb169bf4cbcd7bec9f736975ee1b3f5292d4a
|
react-native-html-to-pdf-lite: 21bfb169bf4cbcd7bec9f736975ee1b3f5292d4a
|
||||||
react-native-image-picker: 9c8a2687b69300ad9e95cec5d38f35ab9d32467d
|
react-native-image-picker: 9c8a2687b69300ad9e95cec5d38f35ab9d32467d
|
||||||
react-native-image-resizer: 00ceb0e05586c7aadf061eea676957a6c2ec60fa
|
react-native-image-resizer: 00ceb0e05586c7aadf061eea676957a6c2ec60fa
|
||||||
react-native-in-app-review: db8bb167a5f238e7ceca5c242d6b36ce8c4404a4
|
react-native-in-app-review: db8bb167a5f238e7ceca5c242d6b36ce8c4404a4
|
||||||
react-native-keep-awake: acbee258db16483744910f0da3ace39eb9ab47fd
|
react-native-keep-awake: caee3ff89eaa21dfe29010f0d143566874a04441
|
||||||
react-native-mmkv-storage: 8ba3c0216a6df283ece11205b442a3e435aec4e5
|
react-native-mmkv-storage: cfb6854594cfdc5f7383a9e464bb025417d1721c
|
||||||
react-native-netinfo: 2517ad504b3d303e90d7a431b0fcaef76d207983
|
react-native-netinfo: ccbe1085dffd16592791d550189772e13bf479e2
|
||||||
react-native-notification-sounds: da78c828fe1bcbb92d8b505d5261890ed315ff39
|
react-native-notification-sounds: da78c828fe1bcbb92d8b505d5261890ed315ff39
|
||||||
react-native-orientation: f1caf84d65f1a4fd4511a18f2b924e634ad7a628
|
react-native-orientation: f1caf84d65f1a4fd4511a18f2b924e634ad7a628
|
||||||
react-native-pdf: 33c622cbdf776a649929e8b9d1ce2d313347c4fa
|
react-native-pdf: 33c622cbdf776a649929e8b9d1ce2d313347c4fa
|
||||||
react-native-safe-area-context: 99b24a0c5acd0d5dcac2b1a7f18c49ea317be99a
|
react-native-safe-area-context: 36cc67648134e89465663b8172336a19eeda493d
|
||||||
react-native-share-extension: 8fa247810cc533c9d3bab6913f62ce7aec9bcf4a
|
react-native-share-extension: df66a2ee48a62277d79898375e2142bde0782063
|
||||||
react-native-sodium: f4e3986ddcb73482f8679e534b448a0675d0cf13
|
react-native-sodium: f4e3986ddcb73482f8679e534b448a0675d0cf13
|
||||||
react-native-webview: d33e2db8925d090871ffeb232dfa50cb3a727581
|
react-native-webview: 9f111dfbcfc826084d6c507f569e5e03342ee1c1
|
||||||
React-perflogger: 8e832d4e21fdfa613033c76d58d7e617341e804b
|
React-NativeModulesApple: 1d81d927ef1a67a3545a01e14c2e98500bf9b199
|
||||||
React-RCTActionSheet: 9ca778182a9523991bff6381045885b6e808bb73
|
React-perflogger: 684a11499a0589cc42135d6d5cc04d0e4e0e261a
|
||||||
React-RCTAnimation: 9ced26ad20b96e532ac791a8ab92a7b1ce2266b8
|
React-RCTActionSheet: 00b0a4c382a13b834124fa3f541a7d8d1d56efb9
|
||||||
React-RCTBlob: 2ca3402386d6ab8e9a9a39117305c7601ba2a7f8
|
React-RCTAnimation: 10c24c66fb504f2faa53f4ec0666c4568255cff9
|
||||||
React-RCTImage: 7be51899367082a49e7a7560247ab3961e4dd248
|
React-RCTAppDelegate: 0402b094e4f630aee6831570731759a43a69a28c
|
||||||
React-RCTLinking: 262229106f181d8187a5a041fa0dffe6e9726347
|
React-RCTBlob: 48aaf595ea4f209faa8a80f26c23a4b9c271248f
|
||||||
React-RCTNetwork: 428b6f17bf4684ede387422eb789ca89365e33d3
|
React-RCTImage: 2f609dd1c80c4aec8edf2ca235cba476fdd442ec
|
||||||
React-RCTSettings: eaef83489b80045528f1fe1ea5daefaa586ed763
|
React-RCTLinking: d7f20b7d51246bf34790ce1362d124cc1b42671b
|
||||||
React-RCTText: d197cff9d5d7f68bdb88468d94617bbf2aa6a48d
|
React-RCTNetwork: 6b0133de954b5eff5e6a6294eef5fca45df7e5e8
|
||||||
React-RCTVibration: 600a9f8b3537db360563d50fab3d040c262567d4
|
React-RCTSettings: 9a1f3f5f3e104c0617d953acc54e60e4bfaf11bd
|
||||||
React-runtimeexecutor: 65cd2782a57e1d59a68aa5d504edf94278578e41
|
React-RCTText: f5b4c03708c0283699c0dc23c7fb9f97ce7ac6bd
|
||||||
ReactCommon: 1e783348b9aa73ae68236271df972ba898560a95
|
React-RCTVibration: fb4135690f091ac9bcfbeb8dc4388208ca0e18b1
|
||||||
|
React-rncore: 30cf94f2ab31fec17ffb8aeeee3d2c3d73fa63fe
|
||||||
|
React-runtimeexecutor: 56b9f7665138fe8cda0d6c210cf95ee3f625c237
|
||||||
|
React-runtimescheduler: 4a36521cc1ec1bc3997ae2462b6779dadaae376b
|
||||||
|
React-utils: c12d2e75c8bbc727939ddc4319ed95493395ed5a
|
||||||
|
ReactCommon: b9547f82aed45eccc1aa59034dc6c72809e37000
|
||||||
RNBootSplash: de2c568373a9c79a66e9918b8929eb6c9a35246f
|
RNBootSplash: de2c568373a9c79a66e9918b8929eb6c9a35246f
|
||||||
RNCCheckbox: ed1b4ca295475b41e7251ebae046360a703b6eb5
|
RNCCheckbox: 43bcc6493611468af0e19f19f029dab3da8561c4
|
||||||
RNCClipboard: 2834e1c4af68697089cdd455ee4a4cdd198fa7dd
|
RNCClipboard: 3f0451a8100393908bea5c5c5b16f96d45f30bfc
|
||||||
RNCMaskedView: bc0170f389056201c82a55e242e5d90070e18e5a
|
RNCMaskedView: 949696f25ec596bfc697fc88e6f95cf0c79669b6
|
||||||
RNDateTimePicker: 818672afa85519722533d017b832ed09539d9ddb
|
RNDateTimePicker: 818672afa85519722533d017b832ed09539d9ddb
|
||||||
RNDeviceInfo: aad3c663b25752a52bf8fce93f2354001dd185aa
|
RNDeviceInfo: aad3c663b25752a52bf8fce93f2354001dd185aa
|
||||||
RNExitApp: c4e052df2568b43bec8a37c7cd61194d4cfee2c3
|
RNExitApp: c4e052df2568b43bec8a37c7cd61194d4cfee2c3
|
||||||
RNFileViewer: ce7ca3ac370e18554d35d6355cffd7c30437c592
|
RNFileViewer: ce7ca3ac370e18554d35d6355cffd7c30437c592
|
||||||
RNFlashList: 399bf6a0db68f594ad2c86aaff3ea39564f39f8a
|
RNFlashList: 399bf6a0db68f594ad2c86aaff3ea39564f39f8a
|
||||||
RNGestureHandler: b7a872907ee289ada902127f2554fa1d2c076122
|
RNGestureHandler: dec4645026e7401a0899f2846d864403478ff6a5
|
||||||
RNIap: d248609d1b8937e63bd904e865c318e9b1457eff
|
RNIap: d248609d1b8937e63bd904e865c318e9b1457eff
|
||||||
RNKeychain: 840f8e6f13be0576202aefcdffd26a4f54bfe7b5
|
RNKeychain: 840f8e6f13be0576202aefcdffd26a4f54bfe7b5
|
||||||
RNNotifee: 2ae3c18196e6f307fa62ae5c8e5305dea03ff147
|
RNNotifee: 2ae3c18196e6f307fa62ae5c8e5305dea03ff147
|
||||||
RNPrivacySnapshot: 8eaf571478a353f2e5184f5c803164f22428b023
|
RNPrivacySnapshot: 8eaf571478a353f2e5184f5c803164f22428b023
|
||||||
RNReanimated: f1b109fb8341505ace9d7d2eedd150da1686716b
|
RNReanimated: d347d84b665039d88dbcb1feddb2aa59156c9bd2
|
||||||
RNScreens: 34cc502acf1b916c582c60003dc3089fa01dc66d
|
RNScreens: d3675ab2878704de70c9dae57fa5d024802404cc
|
||||||
RNSecureRandom: 07efbdf2cd99efe13497433668e54acd7df49fef
|
RNSecureRandom: 07efbdf2cd99efe13497433668e54acd7df49fef
|
||||||
RNShare: a5dc3b9c53ddc73e155b8cd9a94c70c91913c43c
|
RNShare: a5dc3b9c53ddc73e155b8cd9a94c70c91913c43c
|
||||||
RNSVG: ecd661f380a07ba690c9c5929c475a44f432d674
|
RNSVG: d7d7bc8229af3842c9cfc3a723c815a52cdd1105
|
||||||
RNTooltips: 5424d4bf0b3d441104127943b1115cc7f0616b1f
|
RNTooltips: 5424d4bf0b3d441104127943b1115cc7f0616b1f
|
||||||
RNZipArchive: 68a0c6db4b1c103f846f1559622050df254a3ade
|
RNZipArchive: 68a0c6db4b1c103f846f1559622050df254a3ade
|
||||||
SexyTooltip: 5c9b4dec52bfb317938cb0488efd9da3717bb6fd
|
SexyTooltip: 5c9b4dec52bfb317938cb0488efd9da3717bb6fd
|
||||||
|
SocketRocket: fccef3f9c5cedea1353a9ef6ada904fde10d6608
|
||||||
SSZipArchive: fe6a26b2a54d5a0890f2567b5cc6de5caa600aef
|
SSZipArchive: fe6a26b2a54d5a0890f2567b5cc6de5caa600aef
|
||||||
SwiftyRSA: 8c6dd1ea7db1b8dc4fb517a202f88bb1354bc2c6
|
SwiftyRSA: 8c6dd1ea7db1b8dc4fb517a202f88bb1354bc2c6
|
||||||
toolbar-android: 2a73856e98b750d7e71ce4644d3f41cc98211719
|
toolbar-android: 2a73856e98b750d7e71ce4644d3f41cc98211719
|
||||||
Yoga: 0b84a956f7393ef1f37f3bb213c516184e4a689d
|
Yoga: 1d6727ed193122f6adaf435c3de1a768326ff83b
|
||||||
|
|
||||||
PODFILE CHECKSUM: 5e50a51b68061d3da2f2af11cb058942f4ba26f7
|
PODFILE CHECKSUM: ceb52748ea756b5ee99a76ac8a9d0323ded50075
|
||||||
|
|
||||||
COCOAPODS: 1.11.3
|
COCOAPODS: 1.11.3
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
const path = require('path');
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
preset: 'react-native',
|
preset: 'react-native',
|
||||||
testEnvironment: 'node',
|
testEnvironment: 'node',
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
const {getDefaultConfig, mergeConfig} = require('@react-native/metro-config');
|
||||||
/**
|
/**
|
||||||
* Metro configuration for React Native
|
* Metro configuration for React Native
|
||||||
* https://github.com/facebook/react-native
|
* https://github.com/facebook/react-native
|
||||||
@@ -7,7 +8,7 @@
|
|||||||
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
const nodeModulesPaths = [path.resolve(path.join(__dirname, '../node_modules'))];
|
const nodeModulesPaths = [path.resolve(path.join(__dirname, '../node_modules'))];
|
||||||
module.exports = {
|
const config = {
|
||||||
projectRoot: __dirname,
|
projectRoot: __dirname,
|
||||||
watchFolders: [
|
watchFolders: [
|
||||||
path.join(__dirname, '../app'),
|
path.join(__dirname, '../app'),
|
||||||
@@ -15,33 +16,29 @@ module.exports = {
|
|||||||
path.join(__dirname, '../node_modules'),
|
path.join(__dirname, '../node_modules'),
|
||||||
path.join(__dirname, '../e2e'),
|
path.join(__dirname, '../e2e'),
|
||||||
path.join(__dirname, "../../../packages"),
|
path.join(__dirname, "../../../packages"),
|
||||||
],
|
]
|
||||||
resolver: {
|
};
|
||||||
sourceExts: ['jsx', 'js', 'ts', 'tsx', 'cjs'],
|
const mergedConfig = mergeConfig(getDefaultConfig(__dirname), config);
|
||||||
nodeModulesPaths,
|
|
||||||
extraNodeModules: {
|
mergedConfig.resolver = {
|
||||||
"react": path.join(__dirname, "../node_modules/react"),
|
sourceExts: ['jsx', 'js', 'ts', 'tsx', 'cjs', "json"],
|
||||||
"react-dom": path.join(__dirname, "../node_modules/react-dom"),
|
nodeModulesPaths,
|
||||||
"@notesnook": path.join(__dirname, "../../../packages"),
|
extraNodeModules: {
|
||||||
"@notifee/react-native": path.join(__dirname, "../node_modules/@ammarahmed/notifee-react-native"),
|
"react": path.join(__dirname, "../node_modules/react"),
|
||||||
},
|
"react-dom": path.join(__dirname, "../node_modules/react-dom"),
|
||||||
resolveRequest: (context, moduleName, platform) => {
|
"@notesnook": path.join(__dirname, "../../../packages"),
|
||||||
if (moduleName ==='react') {
|
"@notifee/react-native": path.join(__dirname, "../node_modules/@ammarahmed/notifee-react-native"),
|
||||||
// Resolve react package from mobile app's node_modules folder always.
|
|
||||||
return {
|
|
||||||
filePath: path.resolve(path.join(__dirname, '../node_modules', "react","index.js")),
|
|
||||||
type: 'sourceFile',
|
|
||||||
};
|
|
||||||
}
|
|
||||||
return context.resolveRequest(context, moduleName, platform);
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
transformer: {
|
resolveRequest: (context, moduleName, platform) => {
|
||||||
getTransformOptions: async () => ({
|
if (moduleName ==='react') {
|
||||||
transform: {
|
// Resolve react package from mobile app's node_modules folder always.
|
||||||
experimentalImportSupport: false,
|
return {
|
||||||
inlineRequires: true
|
filePath: path.resolve(path.join(__dirname, '../node_modules', "react","index.js")),
|
||||||
}
|
type: 'sourceFile',
|
||||||
})
|
};
|
||||||
|
}
|
||||||
|
return context.resolveRequest(context, moduleName, platform);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
module.exports = mergedConfig;
|
||||||
@@ -15,9 +15,8 @@
|
|||||||
"@react-navigation/native": "^6.0.10",
|
"@react-navigation/native": "^6.0.10",
|
||||||
"@react-navigation/native-stack": "6.6.2",
|
"@react-navigation/native-stack": "6.6.2",
|
||||||
"@sayem314/react-native-keep-awake": "^1.0.4",
|
"@sayem314/react-native-keep-awake": "^1.0.4",
|
||||||
"deprecated-react-native-prop-types": "^2.3.0",
|
"react": "18.2.0",
|
||||||
"react": "18.0.0",
|
"react-native": "0.72.0",
|
||||||
"react-native": "0.69.7",
|
|
||||||
"react-native-background-actions": "^2.6.6",
|
"react-native-background-actions": "^2.6.6",
|
||||||
"react-native-begin-background-task": "https://github.com/blockfirm/react-native-begin-background-task.git",
|
"react-native-begin-background-task": "https://github.com/blockfirm/react-native-begin-background-task.git",
|
||||||
"react-native-bootsplash": "4.1.4",
|
"react-native-bootsplash": "4.1.4",
|
||||||
@@ -28,16 +27,16 @@
|
|||||||
"react-native-exit-app": "https://github.com/ammarahm-ed/react-native-exit-app.git",
|
"react-native-exit-app": "https://github.com/ammarahm-ed/react-native-exit-app.git",
|
||||||
"react-native-file-viewer": "^2.1.1",
|
"react-native-file-viewer": "^2.1.1",
|
||||||
"react-native-fingerprint-scanner": "https://github.com/ammarahm-ed/react-native-fingerprint-scanner.git",
|
"react-native-fingerprint-scanner": "https://github.com/ammarahm-ed/react-native-fingerprint-scanner.git",
|
||||||
"react-native-gesture-handler": "^2.5.0",
|
"react-native-gesture-handler": "^2.12.0",
|
||||||
"react-native-get-random-values": "^1.7.0",
|
"react-native-get-random-values": "^1.7.0",
|
||||||
"react-native-html-to-pdf-lite": "^0.9.1",
|
"react-native-html-to-pdf-lite": "^0.9.1",
|
||||||
"react-native-iap": "7.5.6",
|
"react-native-iap": "7.5.6",
|
||||||
"react-native-image-picker": "4.1.2",
|
"react-native-image-picker": "4.1.2",
|
||||||
"react-native-keychain": "4.0.5",
|
"react-native-keychain": "4.0.5",
|
||||||
"react-native-mmkv-storage": "^0.8.0",
|
"react-native-mmkv-storage": "^0.9.1",
|
||||||
"react-native-orientation": "https://github.com/yamill/react-native-orientation.git",
|
"react-native-orientation": "https://github.com/yamill/react-native-orientation.git",
|
||||||
"react-native-privacy-snapshot": "https://github.com/standardnotes/react-native-privacy-snapshot.git",
|
"react-native-privacy-snapshot": "https://github.com/standardnotes/react-native-privacy-snapshot.git",
|
||||||
"react-native-reanimated": "2.13.0",
|
"react-native-reanimated": "3.3.0",
|
||||||
"react-native-safe-area-context": "^4.3.1",
|
"react-native-safe-area-context": "^4.3.1",
|
||||||
"react-native-scoped-storage": "^1.9.3",
|
"react-native-scoped-storage": "^1.9.3",
|
||||||
"react-native-screens": "^3.13.1",
|
"react-native-screens": "^3.13.1",
|
||||||
@@ -62,28 +61,38 @@
|
|||||||
"react-native-pdf": "6.6.2",
|
"react-native-pdf": "6.6.2",
|
||||||
"react-native-blob-util": "0.17.3",
|
"react-native-blob-util": "0.17.3",
|
||||||
"@ammarahmed/react-native-share-extension": "^2.5.5",
|
"@ammarahmed/react-native-share-extension": "^2.5.5",
|
||||||
"react-native-in-app-review": "4.3.3"
|
"react-native-in-app-review": "4.3.3",
|
||||||
|
"react-native-swiper-flatlist": "3.2.2"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/core": "^7.12.9",
|
"@react-native/eslint-config": "^0.72.2",
|
||||||
|
"@react-native/metro-config": "^0.72.6",
|
||||||
|
"@tsconfig/react-native": "^3.0.2",
|
||||||
|
"@types/metro-config": "^0.76.3",
|
||||||
|
"@types/react": "^18.0.24",
|
||||||
"@babel/eslint-parser": "^7.16.5",
|
"@babel/eslint-parser": "^7.16.5",
|
||||||
"@babel/plugin-transform-named-capturing-groups-regex": "^7.16.5",
|
"@babel/plugin-transform-named-capturing-groups-regex": "^7.16.5",
|
||||||
"@babel/preset-env": "^7.18.6",
|
|
||||||
"@babel/runtime": "^7.12.5",
|
|
||||||
"@react-native-community/eslint-config": "^2.0.0",
|
|
||||||
"@types/html-to-text": "^8.0.1",
|
"@types/html-to-text": "^8.0.1",
|
||||||
"@types/jest": "^27.0.3",
|
|
||||||
"@types/react-native": "^0.69.1",
|
"@types/react-native": "^0.69.1",
|
||||||
"@types/react-native-vector-icons": "^6.4.10",
|
"@types/react-native-vector-icons": "^6.4.10",
|
||||||
"@types/react-test-renderer": "^17.0.1",
|
|
||||||
"@typescript-eslint/eslint-plugin": "^5.14.0",
|
"@typescript-eslint/eslint-plugin": "^5.14.0",
|
||||||
"@typescript-eslint/parser": "^5.14.0",
|
"@typescript-eslint/parser": "^5.14.0",
|
||||||
"babel-jest": "^28.1.3",
|
|
||||||
"babel-loader": "^8.2.5",
|
"babel-loader": "^8.2.5",
|
||||||
"babel-plugin-module-resolver": "^4.1.0",
|
"babel-plugin-module-resolver": "^4.1.0",
|
||||||
"babel-plugin-transform-remove-console": "6.9.4",
|
"babel-plugin-transform-remove-console": "6.9.4",
|
||||||
|
"@babel/core": "^7.20.0",
|
||||||
|
"@babel/preset-env": "^7.20.0",
|
||||||
|
"@babel/runtime": "^7.20.0",
|
||||||
|
"@types/jest": "^29.2.1",
|
||||||
|
"@types/react-test-renderer": "^18.0.0",
|
||||||
|
"babel-jest": "^29.2.1",
|
||||||
|
"eslint": "^8.19.0",
|
||||||
|
"jest": "^29.2.1",
|
||||||
|
"metro-react-native-babel-preset": "0.76.5",
|
||||||
|
"prettier": "^2.4.1",
|
||||||
|
"react-test-renderer": "18.2.0",
|
||||||
|
"typescript": "4.8.4",
|
||||||
"detox": "^19.9.1",
|
"detox": "^19.9.1",
|
||||||
"eslint": "^8.7.0",
|
|
||||||
"eslint-config-prettier": "^8.3.0",
|
"eslint-config-prettier": "^8.3.0",
|
||||||
"eslint-plugin-prettier": "^4.0.0",
|
"eslint-plugin-prettier": "^4.0.0",
|
||||||
"eslint-plugin-react": "^7.28.0",
|
"eslint-plugin-react": "^7.28.0",
|
||||||
@@ -91,14 +100,11 @@
|
|||||||
"eslint-plugin-unused-imports": "^2.0.0",
|
"eslint-plugin-unused-imports": "^2.0.0",
|
||||||
"react-native-actions-shortcuts": "^1.0.1",
|
"react-native-actions-shortcuts": "^1.0.1",
|
||||||
"expect": "^28.1.3",
|
"expect": "^28.1.3",
|
||||||
"jest": "^28.1.3",
|
|
||||||
"jest-circus": "^28.1.3",
|
"jest-circus": "^28.1.3",
|
||||||
"jest-image-snapshot": "^5.1.0",
|
"jest-image-snapshot": "^5.1.0",
|
||||||
"metro-react-native-babel-preset": "^0.70.3",
|
|
||||||
"pixelmatch": "^5.3.0",
|
"pixelmatch": "^5.3.0",
|
||||||
"react-native-bundle-visualizer": "^3.1.1",
|
"react-native-bundle-visualizer": "^3.1.1",
|
||||||
"react-native-cli-bump-version": "^1.3.0",
|
"react-native-cli-bump-version": "^1.3.0",
|
||||||
"react-test-renderer": "18.0.0",
|
|
||||||
"terser-webpack-plugin": "^5.3.5",
|
"terser-webpack-plugin": "^5.3.5",
|
||||||
"ts-jest": "^28.0.7",
|
"ts-jest": "^28.0.7",
|
||||||
"webpack": "^5.74.0",
|
"webpack": "^5.74.0",
|
||||||
|
|||||||
35502
apps/mobile/package-lock.json
generated
@@ -24,15 +24,15 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"otplib": "12.0.1",
|
"otplib": "12.0.1",
|
||||||
"react-refresh": "0.14.0"
|
"react-refresh": "0.14.0",
|
||||||
|
"patch-package": "7.0.0"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"react": "18.0.0",
|
"react": "18.2.0",
|
||||||
"react-native": "0.69.7",
|
"react-native": "0.72.0",
|
||||||
"@notesnook/core": "*",
|
"@notesnook/core": "*",
|
||||||
"@notesnook/editor": "*",
|
"@notesnook/editor": "*",
|
||||||
"@notesnook/editor-mobile": "*",
|
"@notesnook/editor-mobile": "*",
|
||||||
"react-native-swiper-flatlist": "3.2.2",
|
|
||||||
"@notesnook/logger": "*",
|
"@notesnook/logger": "*",
|
||||||
"@notesnook/common": "*"
|
"@notesnook/common": "*"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,24 @@
|
|||||||
|
diff --git a/node_modules/@react-native-community/cli-plugin-metro/build/tools/loadMetroConfig.d.ts b/node_modules/@react-native-community/cli-plugin-metro/build/tools/loadMetroConfig.d.ts
|
||||||
|
index 6cbcc22..62d5422 100644
|
||||||
|
--- a/node_modules/@react-native-community/cli-plugin-metro/build/tools/loadMetroConfig.d.ts
|
||||||
|
+++ b/node_modules/@react-native-community/cli-plugin-metro/build/tools/loadMetroConfig.d.ts
|
||||||
|
@@ -12,6 +12,7 @@ export interface ConfigOptionsT {
|
||||||
|
reporter?: any;
|
||||||
|
config?: string;
|
||||||
|
}
|
||||||
|
+
|
||||||
|
/**
|
||||||
|
* Load Metro config.
|
||||||
|
*
|
||||||
|
diff --git a/node_modules/@react-native-community/cli-plugin-metro/build/tools/loadMetroConfig.js b/node_modules/@react-native-community/cli-plugin-metro/build/tools/loadMetroConfig.js
|
||||||
|
index f26ef52..233a7c9 100644
|
||||||
|
--- a/node_modules/@react-native-community/cli-plugin-metro/build/tools/loadMetroConfig.js
|
||||||
|
+++ b/node_modules/@react-native-community/cli-plugin-metro/build/tools/loadMetroConfig.js
|
||||||
|
@@ -82,6 +82,7 @@ async function loadMetroConfig(ctx, options = {}) {
|
||||||
|
(0, _getDefaultMetroConfig.default)(ctx));
|
||||||
|
return (0, _metroConfig().mergeConfig)(loadedConfig, overrideConfig);
|
||||||
|
}
|
||||||
|
+ if (!overrideConfig.resolver.resolveRequest) delete overrideConfig.resolver.resolveRequest;
|
||||||
|
return (0, _metroConfig().mergeConfig)(await (0, _metroConfig().loadConfig)({
|
||||||
|
cwd: ctx.root,
|
||||||
|
...options
|
||||||
70
apps/mobile/patches/react-native+0.72.0.patch
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
diff --git a/node_modules/react-native/ReactCommon/jsc/JSCRuntime.cpp b/node_modules/react-native/ReactCommon/jsc/JSCRuntime.cpp
|
||||||
|
index 7958519..25f58b1 100644
|
||||||
|
--- a/node_modules/react-native/ReactCommon/jsc/JSCRuntime.cpp
|
||||||
|
+++ b/node_modules/react-native/ReactCommon/jsc/JSCRuntime.cpp
|
||||||
|
@@ -409,12 +409,12 @@ JSCRuntime::~JSCRuntime() {
|
||||||
|
// has started.
|
||||||
|
ctxInvalid_ = true;
|
||||||
|
JSGlobalContextRelease(ctx_);
|
||||||
|
-#ifndef NDEBUG
|
||||||
|
- assert(
|
||||||
|
- objectCounter_ == 0 && "JSCRuntime destroyed with a dangling API object");
|
||||||
|
- assert(
|
||||||
|
- stringCounter_ == 0 && "JSCRuntime destroyed with a dangling API string");
|
||||||
|
-#endif
|
||||||
|
+//#ifndef NDEBUG
|
||||||
|
+// assert(
|
||||||
|
+// objectCounter_ == 0 && "JSCRuntime destroyed with a dangling API object");
|
||||||
|
+// assert(
|
||||||
|
+// stringCounter_ == 0 && "JSCRuntime destroyed with a dangling API string");
|
||||||
|
+//#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
std::shared_ptr<const jsi::PreparedJavaScript> JSCRuntime::prepareJavaScript(
|
||||||
|
diff --git a/node_modules/react-native/scripts/.packager.env b/node_modules/react-native/scripts/.packager.env
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..361f5fb
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/node_modules/react-native/scripts/.packager.env
|
||||||
|
@@ -0,0 +1 @@
|
||||||
|
+export RCT_METRO_PORT=8081
|
||||||
|
diff --git a/node_modules/react-native/scripts/launchPackager.command b/node_modules/react-native/scripts/launchPackager.command
|
||||||
|
index efd1f2e..c2fbbb3 100755
|
||||||
|
--- a/node_modules/react-native/scripts/launchPackager.command
|
||||||
|
+++ b/node_modules/react-native/scripts/launchPackager.command
|
||||||
|
@@ -10,7 +10,7 @@ clear
|
||||||
|
|
||||||
|
THIS_DIR=$(cd -P "$(dirname "$(readlink "${BASH_SOURCE[0]}" || echo "${BASH_SOURCE[0]}")")" && pwd)
|
||||||
|
|
||||||
|
-export PODS_ROOT="$THIS_DIR/../../../ios/Pods"
|
||||||
|
+export PODS_ROOT="$THIS_DIR/../../../native/ios/Pods"
|
||||||
|
WITH_ENVIRONMENT="$THIS_DIR/xcode/with-environment.sh"
|
||||||
|
source $WITH_ENVIRONMENT
|
||||||
|
|
||||||
|
diff --git a/node_modules/react-native/scripts/packager.sh b/node_modules/react-native/scripts/packager.sh
|
||||||
|
index cb8b101..519070a 100755
|
||||||
|
--- a/node_modules/react-native/scripts/packager.sh
|
||||||
|
+++ b/node_modules/react-native/scripts/packager.sh
|
||||||
|
@@ -8,17 +8,16 @@
|
||||||
|
THIS_DIR=$(cd -P "$(dirname "$(readlink "${BASH_SOURCE[0]}" || echo "${BASH_SOURCE[0]}")")" && pwd)
|
||||||
|
REACT_NATIVE_ROOT="$THIS_DIR/.."
|
||||||
|
# Application root directory - General use case: react-native is a dependency
|
||||||
|
-PROJECT_ROOT=${PROJECT_ROOT:-"$THIS_DIR/../../.."}
|
||||||
|
-
|
||||||
|
+PROJECT_ROOT=${PROJECT_ROOT:-"$THIS_DIR/../../../native"}
|
||||||
|
# check and assign NODE_BINARY env
|
||||||
|
# shellcheck disable=SC1090
|
||||||
|
source "${THIS_DIR}/node-binary.sh"
|
||||||
|
|
||||||
|
# When running react-native tests, react-native doesn't live in node_modules but in the PROJECT_ROOT
|
||||||
|
-if [ ! -d "$THIS_DIR/../../../node_modules/react-native" ];
|
||||||
|
-then
|
||||||
|
- PROJECT_ROOT="$THIS_DIR/../../.."
|
||||||
|
-fi
|
||||||
|
+# if [ ! -d "$THIS_DIR/../../../node_modules/react-native" ];
|
||||||
|
+# then
|
||||||
|
+# PROJECT_ROOT="$THIS_DIR/../../.."
|
||||||
|
+# fi
|
||||||
|
# Start packager from PROJECT_ROOT
|
||||||
|
cd "$PROJECT_ROOT" || exit
|
||||||
|
"$NODE_BINARY" "$REACT_NATIVE_ROOT/cli.js" start --custom-log-reporter-path "$THIS_DIR/packager-reporter.js" "$@"
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
diff --git a/node_modules/react-native-keyboard-aware-scroll-view/lib/KeyboardAwareHOC.js b/node_modules/react-native-keyboard-aware-scroll-view/lib/KeyboardAwareHOC.js
|
||||||
|
index 03f46af..cad9ec7 100644
|
||||||
|
--- a/node_modules/react-native-keyboard-aware-scroll-view/lib/KeyboardAwareHOC.js
|
||||||
|
+++ b/node_modules/react-native-keyboard-aware-scroll-view/lib/KeyboardAwareHOC.js
|
||||||
|
@@ -423,11 +423,8 @@ function KeyboardAwareHOC(
|
||||||
|
if (textInputBottomPosition > keyboardPosition) {
|
||||||
|
// Since the system already scrolled the whole view up
|
||||||
|
// we should reduce that amount
|
||||||
|
- keyboardSpace =
|
||||||
|
- keyboardSpace -
|
||||||
|
- (textInputBottomPosition - keyboardPosition)
|
||||||
|
this.setState({ keyboardSpace })
|
||||||
|
- this.scrollForExtraHeightOnAndroid(totalExtraHeight)
|
||||||
|
+ this.scrollForExtraHeightOnAndroid(totalExtraHeight + (textInputBottomPosition - keyboardPosition))
|
||||||
|
} else if (
|
||||||
|
textInputBottomPosition >
|
||||||
|
keyboardPosition - totalExtraHeight
|
||||||
107
apps/mobile/patches/react-native-notification-sounds+0.5.5.patch
Normal file
@@ -0,0 +1,107 @@
|
|||||||
|
diff --git a/node_modules/react-native-notification-sounds/android/build.gradle b/node_modules/react-native-notification-sounds/android/build.gradle
|
||||||
|
index cbbd583..cd322e4 100644
|
||||||
|
--- a/node_modules/react-native-notification-sounds/android/build.gradle
|
||||||
|
+++ b/node_modules/react-native-notification-sounds/android/build.gradle
|
||||||
|
@@ -15,7 +15,6 @@ buildscript {
|
||||||
|
}
|
||||||
|
|
||||||
|
apply plugin: 'com.android.library'
|
||||||
|
-apply plugin: 'maven-publish'
|
||||||
|
|
||||||
|
// Matches values in recent template from React Native 0.59 / 0.60
|
||||||
|
// https://github.com/facebook/react-native/blob/0.59-stable/template/android/build.gradle#L5-L9
|
||||||
|
@@ -41,93 +40,10 @@ android {
|
||||||
|
}
|
||||||
|
|
||||||
|
repositories {
|
||||||
|
- maven {
|
||||||
|
- // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
|
||||||
|
- // Matches recent template from React Native 0.59 / 0.60
|
||||||
|
- // https://github.com/facebook/react-native/blob/0.59-stable/template/android/build.gradle#L30
|
||||||
|
- // https://github.com/facebook/react-native/blob/0.60-stable/template/android/build.gradle#L28
|
||||||
|
- url "$projectDir/../node_modules/react-native/android"
|
||||||
|
- }
|
||||||
|
mavenCentral()
|
||||||
|
google()
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
- implementation "com.facebook.react:react-native:${safeExtGet('reactnativeVersion', '+')}"
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-def configureReactNativePom(def pom) {
|
||||||
|
- def packageJson = new groovy.json.JsonSlurper().parseText(file('../package.json').text)
|
||||||
|
-
|
||||||
|
- pom.project {
|
||||||
|
- name packageJson.title
|
||||||
|
- artifactId packageJson.name
|
||||||
|
- version = packageJson.version
|
||||||
|
- group = "com.reactlibrary"
|
||||||
|
- description packageJson.description
|
||||||
|
- url packageJson.repository.baseUrl
|
||||||
|
-
|
||||||
|
- licenses {
|
||||||
|
- license {
|
||||||
|
- name packageJson.license
|
||||||
|
- url packageJson.repository.baseUrl + '/blob/master/' + packageJson.licenseFilename
|
||||||
|
- distribution 'repo'
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- developers {
|
||||||
|
- developer {
|
||||||
|
- id packageJson.author.username
|
||||||
|
- name packageJson.author.name
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-afterEvaluate { project ->
|
||||||
|
-
|
||||||
|
- task androidJavadoc(type: Javadoc) {
|
||||||
|
- source = android.sourceSets.main.java.srcDirs
|
||||||
|
- classpath += files(android.bootClasspath)
|
||||||
|
- //classpath += files(project.getConfigurations().getByName('compile').asList())
|
||||||
|
- include '**/*.java'
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- task androidJavadocJar(type: Jar, dependsOn: androidJavadoc) {
|
||||||
|
- classifier = 'javadoc'
|
||||||
|
- from androidJavadoc.destinationDir
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- task androidSourcesJar(type: Jar) {
|
||||||
|
- classifier = 'sources'
|
||||||
|
- from android.sourceSets.main.java.srcDirs
|
||||||
|
- include '**/*.java'
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- android.libraryVariants.all { variant ->
|
||||||
|
- def name = variant.name.capitalize()
|
||||||
|
- task "jar${name}"(type: Jar, dependsOn: variant.javaCompile) {
|
||||||
|
- from variant.javaCompile.destinationDir
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- artifacts {
|
||||||
|
- archives androidSourcesJar
|
||||||
|
- archives androidJavadocJar
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- // task installArchives(type: Upload) {
|
||||||
|
- // configuration = configurations.archives
|
||||||
|
- // repositories.mavenDeployer {
|
||||||
|
- // // Deploy to react-native-event-bridge/maven, ready to publish to npm
|
||||||
|
- // repository url: "file://${projectDir}/../android/maven"
|
||||||
|
-
|
||||||
|
- // configureReactNativePom pom
|
||||||
|
- // }
|
||||||
|
- // }
|
||||||
|
-}
|
||||||
|
-subprojects { subproject ->
|
||||||
|
- if(project['name'] == 'react-native-notification-sounds'){
|
||||||
|
- project.configurations { compile { } }
|
||||||
|
- }
|
||||||
|
+ implementation "com.facebook.react:react-native:+"
|
||||||
|
}
|
||||||
15
apps/mobile/patches/react-native-vector-icons+9.2.0.patch
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
diff --git a/node_modules/react-native-vector-icons/fonts.gradle b/node_modules/react-native-vector-icons/fonts.gradle
|
||||||
|
index 5485fac..ef3ccb3 100644
|
||||||
|
--- a/node_modules/react-native-vector-icons/fonts.gradle
|
||||||
|
+++ b/node_modules/react-native-vector-icons/fonts.gradle
|
||||||
|
@@ -26,6 +26,10 @@ afterEvaluate {
|
||||||
|
|
||||||
|
android.applicationVariants.all { def variant ->
|
||||||
|
def targetName = variant.name.capitalize()
|
||||||
|
+ def lintVitalAnalyzeTask = tasks.findByName("lintVitalAnalyze${targetName}")
|
||||||
|
+ if (lintVitalAnalyzeTask) {
|
||||||
|
+ lintVitalAnalyzeTask.dependsOn(fontCopyTask)
|
||||||
|
+ }
|
||||||
|
def generateAssetsTask = tasks.findByName("generate${targetName}Assets")
|
||||||
|
generateAssetsTask.dependsOn(fontCopyTask)
|
||||||
|
}
|
||||||
4
extensions/web-clipper/package-lock.json
generated
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "@notesnook/web-clipper",
|
"name": "@notesnook/web-clipper",
|
||||||
"version": "0.2.1",
|
"version": "0.2.2",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "@notesnook/web-clipper",
|
"name": "@notesnook/web-clipper",
|
||||||
"version": "0.2.1",
|
"version": "0.2.2",
|
||||||
"license": "GPL-3.0-or-later",
|
"license": "GPL-3.0-or-later",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@emotion/react": "^11.10.0",
|
"@emotion/react": "^11.10.0",
|
||||||
|
|||||||