From c480d3e382e570dab6e28b0ce3327e1bc6bcfb30 Mon Sep 17 00:00:00 2001 From: Brandon Presley Date: Mon, 4 Sep 2023 14:20:36 +1200 Subject: [PATCH] =?UTF-8?q?Replace=20usage=20of=20deprecated=20DeviceEvent?= =?UTF-8?q?Emitter=20-=201.155=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App.tsx | 5 +++-- SetList.tsx | 5 +++-- android/app/build.gradle | 4 ++-- emitter.ts | 3 +++ package.json | 2 +- settings.ts | 4 ++-- toast.ts | 4 ++-- use-timer.ts | 3 +-- 8 files changed, 17 insertions(+), 13 deletions(-) create mode 100644 emitter.ts diff --git a/App.tsx b/App.tsx index 23b49cb..4a3b019 100644 --- a/App.tsx +++ b/App.tsx @@ -4,7 +4,7 @@ import { NavigationContainer, } from "@react-navigation/native"; import React, { useEffect, useMemo, useState } from "react"; -import { DeviceEventEmitter, useColorScheme } from "react-native"; +import { useColorScheme } from "react-native"; import { MD3DarkTheme as PaperDarkTheme, MD3LightTheme as PaperDefaultTheme, @@ -14,6 +14,7 @@ import { import MaterialIcon from "react-native-vector-icons/MaterialIcons"; import { AppDataSource } from "./data-source"; import { settingsRepo } from "./db"; +import { emitter } from "./emitter"; import Routes from "./Routes"; import { TOAST } from "./toast"; import { ThemeContext } from "./use-theme"; @@ -59,7 +60,7 @@ const App = () => { if (settings.darkColor) setDarkColor(settings.darkColor); setInitialized(true); })(); - const description = DeviceEventEmitter.addListener( + const description = emitter.addListener( TOAST, ({ value }: { value: string }) => { setSnackbar(value); diff --git a/SetList.tsx b/SetList.tsx index 58f3a27..09486dc 100644 --- a/SetList.tsx +++ b/SetList.tsx @@ -6,12 +6,13 @@ import { useRoute, } from "@react-navigation/native"; import { useCallback, useEffect, useState } from "react"; -import { DeviceEventEmitter, FlatList } from "react-native"; +import { FlatList } from "react-native"; import { List } from "react-native-paper"; import { Like } from "typeorm"; import { LIMIT } from "./constants"; import { getNow, setRepo, settingsRepo } from "./db"; import DrawerHeader from "./DrawerHeader"; +import { emitter } from "./emitter"; import GymSet, { defaultSet } from "./gym-set"; import { HomePageParams } from "./home-page-params"; import ListMenu from "./ListMenu"; @@ -58,7 +59,7 @@ export default function SetList() { useEffect(() => { settingsRepo.findOne({ where: {} }).then(setSettings); - const description = DeviceEventEmitter.addListener(SETTINGS, () => { + const description = emitter.addListener(SETTINGS, () => { settingsRepo.findOne({ where: {} }).then(setSettings); }); return description.remove; diff --git a/android/app/build.gradle b/android/app/build.gradle index 1cfd372..cd194df 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -85,8 +85,8 @@ android { applicationId "com.massive" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 36180 - versionName "1.154" + versionCode 36181 + versionName "1.155" } signingConfigs { release { diff --git a/emitter.ts b/emitter.ts new file mode 100644 index 0000000..3ce1c53 --- /dev/null +++ b/emitter.ts @@ -0,0 +1,3 @@ +import { NativeEventEmitter, NativeModules } from "react-native"; + +export const emitter = new NativeEventEmitter(NativeModules.Emitter); diff --git a/package.json b/package.json index 8bbba7a..6f9213f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "massive", - "version": "1.154", + "version": "1.155", "private": true, "license": "GPL-3.0-only", "scripts": { diff --git a/settings.ts b/settings.ts index 2d2ab24..4f3fce6 100644 --- a/settings.ts +++ b/settings.ts @@ -1,5 +1,5 @@ import { Column, Entity, PrimaryColumn } from "typeorm"; -import { DeviceEventEmitter } from "react-native"; +import { emitter } from "./emitter"; @Entity() export default class Settings { @@ -52,5 +52,5 @@ export default class Settings { export const SETTINGS = "settings"; export const settingsUpdated = () => { - DeviceEventEmitter.emit(SETTINGS); + emitter.emit(SETTINGS); }; diff --git a/toast.ts b/toast.ts index 64e97e9..d9a8a45 100644 --- a/toast.ts +++ b/toast.ts @@ -1,7 +1,7 @@ -import { DeviceEventEmitter } from "react-native"; +import { emitter } from "./emitter"; export const TOAST = "toast"; export function toast(value: string) { - DeviceEventEmitter.emit(TOAST, { value }); + emitter.emit(TOAST, { value }); } diff --git a/use-timer.ts b/use-timer.ts index a133d5c..77d7512 100644 --- a/use-timer.ts +++ b/use-timer.ts @@ -1,6 +1,6 @@ import { useFocusEffect } from "@react-navigation/native"; import { useCallback, useState } from "react"; -import { NativeEventEmitter } from "react-native"; +import { emitter } from "./emitter"; import { TickEvent } from "./TimerPage"; export default function useTimer() { @@ -11,7 +11,6 @@ export default function useTimer() { useCallback(() => { setMinutes("00"); setSeconds("00"); - const emitter = new NativeEventEmitter(); const listener = emitter.addListener("tick", (event: TickEvent) => { console.log(`${useTimer.name}.tick:`, { event }); setMinutes(event.minutes);