1.fix add walletman
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
|
||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
package com.rnpay;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.net.Uri;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.facebook.react.bridge.Promise;
|
||||
import com.facebook.react.bridge.ReactApplicationContext;
|
||||
import com.facebook.react.bridge.ReactContextBaseJavaModule;
|
||||
import com.facebook.react.bridge.ReactMethod;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class AppUtilsModule extends ReactContextBaseJavaModule {
|
||||
|
||||
public AppUtilsModule(ReactApplicationContext reactContext) {
|
||||
super(reactContext);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public String getName() {
|
||||
return "AppUtilsModule";
|
||||
}
|
||||
|
||||
@ReactMethod
|
||||
public void isModifiedAppInstalled(String scheme, Promise promise) {
|
||||
try {
|
||||
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(scheme + "://check"));
|
||||
PackageManager pm = getReactApplicationContext().getPackageManager();
|
||||
List<android.content.pm.ResolveInfo> list = pm.queryIntentActivities(intent, 0);
|
||||
promise.resolve(list != null && !list.isEmpty());
|
||||
} catch (Exception e) {
|
||||
promise.reject("CHECK_ERROR", e.getMessage(), e);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
package com.rnpay;
|
||||
|
||||
import com.facebook.react.ReactPackage;
|
||||
import com.facebook.react.bridge.NativeModule;
|
||||
import com.facebook.react.bridge.ReactApplicationContext;
|
||||
import com.facebook.react.uimanager.ViewManager;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public class AppUtilsPackage implements ReactPackage {
|
||||
|
||||
@Override
|
||||
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
|
||||
return Arrays.<NativeModule>asList(new AppUtilsModule(reactContext));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
}
|
||||
@@ -23,7 +23,6 @@ public class MainApplication extends Application implements ReactApplication {
|
||||
protected List<ReactPackage> getPackages() {
|
||||
@SuppressWarnings("UnnecessaryLocalVariable")
|
||||
List<ReactPackage> packages = new PackageList(this).getPackages();
|
||||
packages.add(new AppUtilsPackage());
|
||||
return packages;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
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';
|
||||
import { onProxyMessage, proxySendMessage, paytmPay, openMobikwikPayToBank } from 'rnwalletman';
|
||||
|
||||
export default function TestScreen() {
|
||||
const subRef = useRef<ReturnType<typeof onProxyMessage> | null>(null);
|
||||
@@ -27,33 +26,25 @@ export default function TestScreen() {
|
||||
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)));
|
||||
const handleMobikwikPayToBank = () => {
|
||||
openMobikwikPayToBank('1234567890', '123456', 'John Doe', '100')
|
||||
.then(result => console.log('Mobikwik Pay To Bank', result ? 'Success' : 'Failed'))
|
||||
.catch(err => Alert.alert('Error', String(err)));
|
||||
};
|
||||
|
||||
return (
|
||||
<View style={styles.container}>
|
||||
<Text style={styles.sectionTitle}>Test Tools</Text>
|
||||
|
||||
<TouchableOpacity style={[styles.btn, { backgroundColor: '#2ecc71' }]} onPress={handlePaytmPay}>
|
||||
<Text style={styles.btnText}>Paytm Pay Transfer Test</Text>
|
||||
<Text style={styles.btnText}>Paytm Pay To Bank Test</Text>
|
||||
</TouchableOpacity>
|
||||
<TouchableOpacity style={[styles.btn, { backgroundColor: '#2ecc33' }]} onPress={handleMobikwikPayToBank}>
|
||||
<Text style={styles.btnText}>Mobikwik Pay To Bank Test</Text>
|
||||
</TouchableOpacity>
|
||||
<TouchableOpacity style={[styles.btn, { backgroundColor: '#3498db' }]} onPress={handleEcho}>
|
||||
<Text style={styles.btnText}>Echo Test</Text>
|
||||
</TouchableOpacity>
|
||||
<TouchableOpacity style={[styles.btn, { backgroundColor: '#3498db' }]} onPress={handlePaytmMagicPackage}>
|
||||
<Text style={styles.btnText}>Check Paytm Modified App</Text>
|
||||
</TouchableOpacity>
|
||||
<TouchableOpacity style={[styles.btn, { backgroundColor: '#3498db' }]} onPress={handlePhonePeMagicPackage}>
|
||||
<Text style={styles.btnText}>Check PhonePe Modified App</Text>
|
||||
</TouchableOpacity>
|
||||
</View>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
import { NativeModules, Platform } from 'react-native';
|
||||
|
||||
export async function isModifiedAppInstalled(scheme: string): Promise<boolean> {
|
||||
if (Platform.OS !== 'android') return false;
|
||||
const { AppUtilsModule } = NativeModules;
|
||||
if (!AppUtilsModule) return false;
|
||||
return await AppUtilsModule.isModifiedAppInstalled(scheme);
|
||||
}
|
||||
Reference in New Issue
Block a user