import React, { useCallback, useEffect, useState } from "react";
import {
ScrollView,
StyleSheet,
Text,
SafeAreaView,
RefreshControl,
} from "react-native";
import * as ReactNativeDeviceActivity from "react-native-device-activity";
import { EventParsed } from "react-native-device-activity/src/ReactNativeDeviceActivity.types";
export function EventsTab() {
const [events, setEvents] = React.useState([]);
const refreshEvents = useCallback(() => {
const eventsParsed = ReactNativeDeviceActivity.getEvents();
setEvents(
eventsParsed.sort(
(a, b) => b.lastCalledAt.valueOf() - a.lastCalledAt.valueOf(),
),
);
}, []);
useEffect(() => {
const listener = ReactNativeDeviceActivity.onDeviceActivityMonitorEvent(
() => {
refreshEvents();
},
);
refreshEvents();
return () => {
listener.remove();
};
}, [refreshEvents]);
const [refreshing, setRefreshing] = useState(false);
const onRefresh = useCallback(() => {
setRefreshing(true);
refreshEvents();
setRefreshing(false);
}, [refreshEvents]);
return (
}
>
{JSON.stringify(events, null, 2)}
);
}
const styles = StyleSheet.create({
container: {
margin: 10,
flex: 1,
backgroundColor: "#fff",
},
});