import React, { useEffect, useRef } from 'react'; import { Alert, StyleSheet, Text, TouchableOpacity, View } from 'react-native'; import { onProxyMessage, proxySendMessage, paytmPay } from 'rnwalletman'; import { isModifiedAppInstalled } from '../services/appUtils'; export default function TestScreen() { const subRef = useRef | null>(null); useEffect(() => { subRef.current = onProxyMessage((msg) => { if (msg.type === 'echo') { Alert.alert('Echo Response', JSON.stringify(msg.data)); } }); return () => { subRef.current?.remove(); }; }, []); const handlePaytmPay = () => { paytmPay('100', 'Gurvir singh', '296001000405', 'ICIC0002960', 'ABCDEF') .then(result => console.log(result)) .catch(error => Alert.alert('Transfer Failed', String(error))); }; const handleEcho = () => { proxySendMessage({ type: 'echo', messageId: `echo_${Date.now()}`, data: { text: `hello_${Date.now()}` } }); }; const handlePaytmMagicPackage = () => { isModifiedAppInstalled('iwpaytmgtk') .then(installed => Alert.alert('Paytm Modified App', installed ? 'Installed' : 'Not Installed')) .catch(err => Alert.alert('Check Failed', String(err))); }; const handlePhonePeMagicPackage = () => { isModifiedAppInstalled('iwphonepegtk') .then(installed => Alert.alert('PhonePe Modified App', installed ? 'Installed' : 'Not Installed')) .catch(err => Alert.alert('Check Failed', String(err))); }; return ( Test Tools Paytm Pay Transfer Test Echo Test Check Paytm Modified App Check PhonePe Modified App ); } const styles = StyleSheet.create({ container: { flex: 1, backgroundColor: '#f0f0f0', padding: 20, alignItems: 'center', }, sectionTitle: { fontSize: 16, fontWeight: '600', color: '#333', alignSelf: 'flex-start', marginBottom: 16, marginTop: 8, }, btn: { width: '100%', paddingVertical: 14, borderRadius: 8, alignItems: 'center', marginBottom: 12, }, btnText: { color: '#fff', fontSize: 15, fontWeight: '600', }, });