parent
1b9a8af2c5
commit
273aba6ce8
|
|
@ -52,12 +52,12 @@ public class CardPaymentHandlerImpl implements CardPaymentCallbackHandler<Result
|
|||
private TransactionTypeConv transactionTypeConv;
|
||||
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.plugin = plugin;
|
||||
this.amount = amount;
|
||||
customKeyBoardDilalog = new CustomKeyBoardDilalog();
|
||||
transactionTypeConv = TransactionTypeConv.UNKNOWN;
|
||||
transactionTypeConv = type;
|
||||
}
|
||||
|
||||
public CardPaymentHandlerImpl setTransactionTypeConv(TransactionTypeConv transactionTypeConv) {
|
||||
|
|
@ -199,7 +199,13 @@ public class CardPaymentHandlerImpl implements CardPaymentCallbackHandler<Result
|
|||
@Override
|
||||
public void 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
|
||||
|
|
@ -230,7 +236,7 @@ public class CardPaymentHandlerImpl implements CardPaymentCallbackHandler<Result
|
|||
plugin.getActivity().runOnUiThread(() -> {
|
||||
AmanDao<String> dao = new AmanDao<>();
|
||||
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));
|
||||
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");
|
||||
long amount = value.longValue();
|
||||
clientInterface.cancel();
|
||||
CardPaymentHandlerImpl handler = new CardPaymentHandlerImpl(this, result, amount);
|
||||
handler.setTransactionTypeConv(TransactionTypeConv.PAYMENT);
|
||||
clientInterface.getTransactionManager().makeCardPayment(handler);
|
||||
// CardPaymentHandlerImpl handler = new CardPaymentHandlerImpl(this, result, amount);
|
||||
// handler.setTransactionTypeConv(TransactionTypeConv.PAYMENT);
|
||||
// clientInterface.getTransactionManager().makeCardPayment(handler);
|
||||
clientInterface.getTransactionManager().makeCardPayment(new CardPaymentHandlerImpl(this, result, amount, TransactionTypeConv.PAYMENT));
|
||||
} catch (Exception e) {
|
||||
System.out.println("=============>ERROR:"+e.getMessage());
|
||||
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/response.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/dialog_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/constants/operation_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/kassa_state.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:flutter/material.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 {
|
||||
final PaymentModel model;
|
||||
|
|
@ -36,13 +40,26 @@ class _PaymentViewState extends State<PaymentView> {
|
|||
final GlobalKey<State> _keyLoader = new GlobalKey<State>();
|
||||
final DataService _dataService = locator<DataService>();
|
||||
final DialogService _dialogService = locator<DialogService>();
|
||||
BankService _bankService = locator<BankService>();
|
||||
final NavigatorService _navigatorService = locator<NavigatorService>();
|
||||
bool isBusy;
|
||||
bool isBankApiAccess;
|
||||
|
||||
@override
|
||||
void initState() {
|
||||
super.initState();
|
||||
isBusy = false;
|
||||
isBankApiAccess = false;
|
||||
_bankInit();
|
||||
}
|
||||
|
||||
_bankInit() async {
|
||||
int version = await _bankService.version();
|
||||
if(version>=24){
|
||||
setState(() {
|
||||
isBankApiAccess = true;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
|
|
@ -148,11 +165,8 @@ class _PaymentViewState extends State<PaymentView> {
|
|||
],
|
||||
),
|
||||
),
|
||||
Container(
|
||||
child: IconButton(icon: Icon(Icons.nfc), onPressed: () {
|
||||
_navigatorService.push(PaymentNfcViewRoute, arguments: widget.model);
|
||||
}),
|
||||
),
|
||||
verticalSpaceLarge,
|
||||
_nfsButtonRender(),
|
||||
verticalSpaceLarge,
|
||||
Expanded(
|
||||
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 {
|
||||
setState(() {
|
||||
isBusy = true;
|
||||
|
|
@ -213,7 +267,8 @@ class _PaymentViewState extends State<PaymentView> {
|
|||
_navigatorService.pop();
|
||||
_navigatorService.push(ImageShowRoute,
|
||||
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();
|
||||
_dialogService.showDialog(description: response.body['message']);
|
||||
} else {
|
||||
|
|
@ -226,7 +281,6 @@ class _PaymentViewState extends State<PaymentView> {
|
|||
print(e);
|
||||
Navigator.of(_keyLoader.currentContext, rootNavigator: true).pop();
|
||||
} finally {
|
||||
|
||||
//Navigator.of(context, rootNavigator: true).pop();
|
||||
setState(() {
|
||||
isBusy = false;
|
||||
|
|
@ -260,5 +314,6 @@ class _PaymentViewState extends State<PaymentView> {
|
|||
class PaymentModel {
|
||||
String operationType;
|
||||
String mode;
|
||||
|
||||
PaymentModel({this.mode, this.operationType});
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue