permissions add method MethodCallHandler

backend_nfc
Serik.Uvaissov 2020-08-23 14:37:12 +06:00
parent 273aba6ce8
commit 1f18d5d928
5 changed files with 47 additions and 16 deletions

View File

@ -225,7 +225,11 @@ public class CardPaymentHandlerImpl implements CardPaymentCallbackHandler<Result
@Override @Override
public void onTransactionExecutionStatusChanged(TransactionExecutionStatus newStatus) { public void onTransactionExecutionStatusChanged(TransactionExecutionStatus newStatus) {
System.out.println("----->---->---->onTransactionExecutionStatusChanged: " + newStatus.name()); System.out.println("----->---->---->onTransactionExecutionStatusChanged: " + newStatus.name());
plugin.getActivity().runOnUiThread(() -> Toast.makeText(plugin.getActivity(), newStatus.name(), Toast.LENGTH_SHORT).show()); plugin.getActivity().runOnUiThread(() -> {
if(newStatus!=null && newStatus.equals(TransactionExecutionStatus.TAP_CARD)) {
Toast.makeText(plugin.getActivity(), newStatus.name(), Toast.LENGTH_SHORT).show();
}
});
} }
@Override @Override

View File

@ -70,6 +70,9 @@ public class BankNfcPlugins implements MethodCallHandler {
case "init": case "init":
init(call, result); init(call, result);
break; break;
case "permissions":
permissions(result);
break;
case "connection": case "connection":
connection(result); connection(result);
break; break;
@ -116,18 +119,13 @@ public class BankNfcPlugins implements MethodCallHandler {
} return Integer.parseInt(version); } return Integer.parseInt(version);
} }
private void permissions(Result result) {
private void init(MethodCall call, Result result) {
String serverUrl = call.argument("serverUrl");
try { try {
PermissionsManager.PermissionsCheckResultHandler permissionsCheckResultHandler = PermissionsManager.PermissionsCheckResultHandler permissionsCheckResultHandler =
new PermissionsManager.PermissionsCheckResultHandler() { new PermissionsManager.PermissionsCheckResultHandler() {
@Override @Override
public void onPermissionsGranted() { public void onPermissionsGranted() {
System.out.println("granted");
activity.runOnUiThread(() -> { activity.runOnUiThread(() -> {
Toast.makeText(activity, "Granted", Toast.LENGTH_SHORT).show();
start(serverUrl);
AmanDao<String> dao = new AmanDao<>(); AmanDao<String> dao = new AmanDao<>();
dao.setSuccess(true); dao.setSuccess(true);
dao.setMsg("OK"); dao.setMsg("OK");
@ -139,7 +137,10 @@ public class BankNfcPlugins implements MethodCallHandler {
@Override @Override
public void onPermissionsDeclined() { public void onPermissionsDeclined() {
result.success("declined"); AmanDao<String> dao = new AmanDao<>();
dao.setSuccess(false);
dao.setMsg("decline");
result.success(gson.toJson(dao));
} }
}; };
permissionsManager = new PermissionsManagerImpl(this.activity); permissionsManager = new PermissionsManagerImpl(this.activity);
@ -151,6 +152,17 @@ public class BankNfcPlugins implements MethodCallHandler {
} }
} }
private void init(MethodCall call, Result result) {
String serverUrl = call.argument("serverUrl");
start(serverUrl);
AmanDao<String> dao = new AmanDao<>();
dao.setSuccess(true);
dao.setMsg("OK");
result.success(gson.toJson(dao));
}
//start after all permissions granted //start after all permissions granted
private void start(String serverUrl) { private void start(String serverUrl) {
clientInterface = M4BankMposClient.getInstance( clientInterface = M4BankMposClient.getInstance(

View File

@ -58,6 +58,18 @@ class BankService extends BaseService {
} }
} }
Future<bool> permissions() async {
try {
String response = await _channel.invokeMethod("permissions");
AmanDao dao = AmanDao.fromJson(json.decode(response));
log.i('${dao.success} - ${dao.msg}');
return dao.success;
} catch (e, stack) {
log.e("BankService", e, stack);
return false;
}
}
Future<AmanDao> auth({String login, String password}) async { Future<AmanDao> auth({String login, String password}) async {
try { try {
String response = await _channel.invokeMethod("auth", String response = await _channel.invokeMethod("auth",

View File

@ -36,17 +36,11 @@ class _BankSettingViewState extends State<BankSettingView> {
} }
Future<void> initBankImeiState() async { Future<void> initBankImeiState() async {
String imei;
try { try {
imei = await _bankService.imei(); await _bankService.permissions();
} on PlatformException { } on PlatformException {
imei = 'Failed to get platform version.';
} }
if (!mounted) return;
setState(() {
_bankImei = imei;
});
} }

View File

@ -64,6 +64,15 @@ class _PaymentNfcViewState extends State<PaymentNfcView> {
} }
void start() async { void start() async {
//Инициализация
bool success = await _bankService.permissions();
log.i(success);
if (!success) {
setState(() {
status = 4;
});
return;
}
//Инициализация //Инициализация
bool initialized = await _bankService.init(); bool initialized = await _bankService.init();
log.i(initialized); log.i(initialized);