parent
1b9a8af2c5
commit
273aba6ce8
|
|
@ -52,12 +52,12 @@ public class CardPaymentHandlerImpl implements CardPaymentCallbackHandler<Result
|
||||||
private TransactionTypeConv transactionTypeConv;
|
private TransactionTypeConv transactionTypeConv;
|
||||||
private final Gson gson = new Gson();
|
private final Gson gson = new Gson();
|
||||||
|
|
||||||
public CardPaymentHandlerImpl(BankNfcPlugins plugin, MethodChannel.Result result, long amount) {
|
public CardPaymentHandlerImpl(BankNfcPlugins plugin, MethodChannel.Result result, long amount, TransactionTypeConv type) {
|
||||||
this.result = result;
|
this.result = result;
|
||||||
this.plugin = plugin;
|
this.plugin = plugin;
|
||||||
this.amount = amount;
|
this.amount = amount;
|
||||||
customKeyBoardDilalog = new CustomKeyBoardDilalog();
|
customKeyBoardDilalog = new CustomKeyBoardDilalog();
|
||||||
transactionTypeConv = TransactionTypeConv.UNKNOWN;
|
transactionTypeConv = type;
|
||||||
}
|
}
|
||||||
|
|
||||||
public CardPaymentHandlerImpl setTransactionTypeConv(TransactionTypeConv transactionTypeConv) {
|
public CardPaymentHandlerImpl setTransactionTypeConv(TransactionTypeConv transactionTypeConv) {
|
||||||
|
|
@ -199,7 +199,13 @@ public class CardPaymentHandlerImpl implements CardPaymentCallbackHandler<Result
|
||||||
@Override
|
@Override
|
||||||
public void onWrongApiCalled() {
|
public void onWrongApiCalled() {
|
||||||
System.out.println("----->---->---->onWrongApiCalled");
|
System.out.println("----->---->---->onWrongApiCalled");
|
||||||
plugin.getActivity().runOnUiThread(() -> Toast.makeText(plugin.getActivity(), "Wrong method has been called", Toast.LENGTH_SHORT).show());
|
plugin.getActivity().runOnUiThread(() -> {
|
||||||
|
//Toast.makeText(plugin.getActivity(), "Wrong method has been called", Toast.LENGTH_SHORT).show();
|
||||||
|
AmanDao<String> dao = new AmanDao<>();
|
||||||
|
dao.setSuccess(false);
|
||||||
|
dao.setMsg("onWrongApiCalled");
|
||||||
|
this.result.success(gson.toJson(dao));
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
@ -230,7 +236,7 @@ public class CardPaymentHandlerImpl implements CardPaymentCallbackHandler<Result
|
||||||
plugin.getActivity().runOnUiThread(() -> {
|
plugin.getActivity().runOnUiThread(() -> {
|
||||||
AmanDao<String> dao = new AmanDao<>();
|
AmanDao<String> dao = new AmanDao<>();
|
||||||
dao.setSuccess(false);
|
dao.setSuccess(false);
|
||||||
dao.setMsg(String.format("+++++++++++ onError: %s, description: %s", ((AllError) errorHandler).name(), errorHandler.getFinalDescription()));
|
dao.setMsg(String.format("%s", errorHandler.getFinalDescription()));
|
||||||
this.result.success(gson.toJson(dao));
|
this.result.success(gson.toJson(dao));
|
||||||
Toast.makeText(plugin.getActivity(), String.format("onError: %s, description: %s", ((AllError) errorHandler).name(), errorHandler.getFinalDescription()), Toast.LENGTH_LONG).show();
|
Toast.makeText(plugin.getActivity(), String.format("onError: %s, description: %s", ((AllError) errorHandler).name(), errorHandler.getFinalDescription()), Toast.LENGTH_LONG).show();
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -189,9 +189,10 @@ public class BankNfcPlugins implements MethodCallHandler {
|
||||||
Integer value = call.argument("amount");
|
Integer value = call.argument("amount");
|
||||||
long amount = value.longValue();
|
long amount = value.longValue();
|
||||||
clientInterface.cancel();
|
clientInterface.cancel();
|
||||||
CardPaymentHandlerImpl handler = new CardPaymentHandlerImpl(this, result, amount);
|
// CardPaymentHandlerImpl handler = new CardPaymentHandlerImpl(this, result, amount);
|
||||||
handler.setTransactionTypeConv(TransactionTypeConv.PAYMENT);
|
// handler.setTransactionTypeConv(TransactionTypeConv.PAYMENT);
|
||||||
clientInterface.getTransactionManager().makeCardPayment(handler);
|
// clientInterface.getTransactionManager().makeCardPayment(handler);
|
||||||
|
clientInterface.getTransactionManager().makeCardPayment(new CardPaymentHandlerImpl(this, result, amount, TransactionTypeConv.PAYMENT));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
System.out.println("=============>ERROR:"+e.getMessage());
|
System.out.println("=============>ERROR:"+e.getMessage());
|
||||||
result.error("2", e.getMessage(), e.getLocalizedMessage());
|
result.error("2", e.getMessage(), e.getLocalizedMessage());
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ import 'package:aman_kassa_flutter/core/models/calc_model.dart';
|
||||||
import 'package:aman_kassa_flutter/core/models/product_dao.dart';
|
import 'package:aman_kassa_flutter/core/models/product_dao.dart';
|
||||||
import 'package:aman_kassa_flutter/core/models/response.dart';
|
import 'package:aman_kassa_flutter/core/models/response.dart';
|
||||||
import 'package:aman_kassa_flutter/core/route_names.dart';
|
import 'package:aman_kassa_flutter/core/route_names.dart';
|
||||||
|
import 'package:aman_kassa_flutter/core/services/BankService.dart';
|
||||||
import 'package:aman_kassa_flutter/core/services/DataService.dart';
|
import 'package:aman_kassa_flutter/core/services/DataService.dart';
|
||||||
import 'package:aman_kassa_flutter/core/services/dialog_service.dart';
|
import 'package:aman_kassa_flutter/core/services/dialog_service.dart';
|
||||||
import 'package:aman_kassa_flutter/core/services/navigator_service.dart';
|
import 'package:aman_kassa_flutter/core/services/navigator_service.dart';
|
||||||
|
|
@ -11,6 +12,7 @@ import 'package:aman_kassa_flutter/redux/actions/kassa_actions.dart';
|
||||||
import 'package:aman_kassa_flutter/redux/actions/user_actions.dart';
|
import 'package:aman_kassa_flutter/redux/actions/user_actions.dart';
|
||||||
import 'package:aman_kassa_flutter/redux/constants/operation_const.dart';
|
import 'package:aman_kassa_flutter/redux/constants/operation_const.dart';
|
||||||
import 'package:aman_kassa_flutter/redux/constants/setting_const.dart';
|
import 'package:aman_kassa_flutter/redux/constants/setting_const.dart';
|
||||||
|
import 'package:aman_kassa_flutter/redux/state/bank_state.dart';
|
||||||
import 'package:aman_kassa_flutter/redux/state/calc_state.dart';
|
import 'package:aman_kassa_flutter/redux/state/calc_state.dart';
|
||||||
import 'package:aman_kassa_flutter/redux/state/kassa_state.dart';
|
import 'package:aman_kassa_flutter/redux/state/kassa_state.dart';
|
||||||
import 'package:aman_kassa_flutter/redux/store.dart';
|
import 'package:aman_kassa_flutter/redux/store.dart';
|
||||||
|
|
@ -22,6 +24,8 @@ import 'package:aman_kassa_flutter/widgets/fields/busy_button.dart';
|
||||||
import 'package:aman_kassa_flutter/widgets/loader/Dialogs.dart';
|
import 'package:aman_kassa_flutter/widgets/loader/Dialogs.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_redux/flutter_redux.dart';
|
import 'package:flutter_redux/flutter_redux.dart';
|
||||||
|
import 'package:flutter_screenutil/screenutil.dart';
|
||||||
|
import 'package:material_design_icons_flutter/material_design_icons_flutter.dart';
|
||||||
|
|
||||||
class PaymentView extends StatefulWidget {
|
class PaymentView extends StatefulWidget {
|
||||||
final PaymentModel model;
|
final PaymentModel model;
|
||||||
|
|
@ -36,13 +40,26 @@ class _PaymentViewState extends State<PaymentView> {
|
||||||
final GlobalKey<State> _keyLoader = new GlobalKey<State>();
|
final GlobalKey<State> _keyLoader = new GlobalKey<State>();
|
||||||
final DataService _dataService = locator<DataService>();
|
final DataService _dataService = locator<DataService>();
|
||||||
final DialogService _dialogService = locator<DialogService>();
|
final DialogService _dialogService = locator<DialogService>();
|
||||||
|
BankService _bankService = locator<BankService>();
|
||||||
final NavigatorService _navigatorService = locator<NavigatorService>();
|
final NavigatorService _navigatorService = locator<NavigatorService>();
|
||||||
bool isBusy;
|
bool isBusy;
|
||||||
|
bool isBankApiAccess;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void initState() {
|
void initState() {
|
||||||
super.initState();
|
super.initState();
|
||||||
isBusy = false;
|
isBusy = false;
|
||||||
|
isBankApiAccess = false;
|
||||||
|
_bankInit();
|
||||||
|
}
|
||||||
|
|
||||||
|
_bankInit() async {
|
||||||
|
int version = await _bankService.version();
|
||||||
|
if(version>=24){
|
||||||
|
setState(() {
|
||||||
|
isBankApiAccess = true;
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|
@ -148,11 +165,8 @@ class _PaymentViewState extends State<PaymentView> {
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Container(
|
verticalSpaceLarge,
|
||||||
child: IconButton(icon: Icon(Icons.nfc), onPressed: () {
|
_nfsButtonRender(),
|
||||||
_navigatorService.push(PaymentNfcViewRoute, arguments: widget.model);
|
|
||||||
}),
|
|
||||||
),
|
|
||||||
verticalSpaceLarge,
|
verticalSpaceLarge,
|
||||||
Expanded(
|
Expanded(
|
||||||
child: Container(),
|
child: Container(),
|
||||||
|
|
@ -170,6 +184,46 @@ class _PaymentViewState extends State<PaymentView> {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Widget _nfsButtonRender() {
|
||||||
|
if(!isBankApiAccess){
|
||||||
|
return Container();
|
||||||
|
}
|
||||||
|
return StoreConnector<AppState, BankState>(
|
||||||
|
converter: (store) => store.state.bankState,
|
||||||
|
builder: (_, state) {
|
||||||
|
if(state.password == null || state.login == null || state.password.length < 1 || state.login.length < 1 ){
|
||||||
|
return Container();
|
||||||
|
}
|
||||||
|
return InkWell(
|
||||||
|
onTap: () {
|
||||||
|
_navigatorService.push(PaymentNfcViewRoute,
|
||||||
|
arguments: widget.model);
|
||||||
|
},
|
||||||
|
splashColor: primaryColor.withOpacity(0.4),
|
||||||
|
borderRadius: BorderRadius.circular(9.0),
|
||||||
|
highlightColor: primaryColor.withOpacity(0.1),
|
||||||
|
child: Container(
|
||||||
|
padding: const EdgeInsets.all(8.0),
|
||||||
|
decoration: BoxDecoration(
|
||||||
|
border: Border.all(color: primaryColor),
|
||||||
|
borderRadius: BorderRadius.circular(9.0)
|
||||||
|
),
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
Icon(
|
||||||
|
MdiIcons.nfc,
|
||||||
|
color: primaryColor,
|
||||||
|
size: ScreenUtil().setSp(60.0),
|
||||||
|
),
|
||||||
|
Text('Tap2Phone',style: TextStyle(fontSize: ScreenUtil().setSp(10.0), color: primaryColor),),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
pressPayment(String type) async {
|
pressPayment(String type) async {
|
||||||
setState(() {
|
setState(() {
|
||||||
isBusy = true;
|
isBusy = true;
|
||||||
|
|
@ -196,7 +250,7 @@ class _PaymentViewState extends State<PaymentView> {
|
||||||
setState(() {
|
setState(() {
|
||||||
isBusy = false;
|
isBusy = false;
|
||||||
});
|
});
|
||||||
if( response != null) {
|
if (response != null) {
|
||||||
if (response.operation) {
|
if (response.operation) {
|
||||||
String message = response.body['message'];
|
String message = response.body['message'];
|
||||||
String check = response.body['check'];
|
String check = response.body['check'];
|
||||||
|
|
@ -212,8 +266,9 @@ class _PaymentViewState extends State<PaymentView> {
|
||||||
Navigator.of(_keyLoader.currentContext, rootNavigator: true).pop();
|
Navigator.of(_keyLoader.currentContext, rootNavigator: true).pop();
|
||||||
_navigatorService.pop();
|
_navigatorService.pop();
|
||||||
_navigatorService.push(ImageShowRoute,
|
_navigatorService.push(ImageShowRoute,
|
||||||
arguments: ImageShowModel(data:check, title: message, url: url ));
|
arguments: ImageShowModel(data: check, title: message, url: url));
|
||||||
} else if (!response.operation && ![401,402,403,412,500].contains(response.status)) {
|
} else if (!response.operation &&
|
||||||
|
![401, 402, 403, 412, 500].contains(response.status)) {
|
||||||
Navigator.of(_keyLoader.currentContext, rootNavigator: true).pop();
|
Navigator.of(_keyLoader.currentContext, rootNavigator: true).pop();
|
||||||
_dialogService.showDialog(description: response.body['message']);
|
_dialogService.showDialog(description: response.body['message']);
|
||||||
} else {
|
} else {
|
||||||
|
|
@ -226,7 +281,6 @@ class _PaymentViewState extends State<PaymentView> {
|
||||||
print(e);
|
print(e);
|
||||||
Navigator.of(_keyLoader.currentContext, rootNavigator: true).pop();
|
Navigator.of(_keyLoader.currentContext, rootNavigator: true).pop();
|
||||||
} finally {
|
} finally {
|
||||||
|
|
||||||
//Navigator.of(context, rootNavigator: true).pop();
|
//Navigator.of(context, rootNavigator: true).pop();
|
||||||
setState(() {
|
setState(() {
|
||||||
isBusy = false;
|
isBusy = false;
|
||||||
|
|
@ -260,5 +314,6 @@ class _PaymentViewState extends State<PaymentView> {
|
||||||
class PaymentModel {
|
class PaymentModel {
|
||||||
String operationType;
|
String operationType;
|
||||||
String mode;
|
String mode;
|
||||||
|
|
||||||
PaymentModel({this.mode, this.operationType});
|
PaymentModel({this.mode, this.operationType});
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue