Commit f3c8b12c authored by Izol's avatar Izol

simplify phase #1

- takeoutpagedenom on back
- added denom in homepage
- added button switch
- added page qris
- handle switch button denom to show qris
- handle tap activation
- handle launcher
- handle layout home page
parent b3caf093
......@@ -163,6 +163,7 @@ class MainActivity : MethodChannel.MethodCallHandler, FlutterActivity(), MifareT
kUrlPrePaid!!,
)
}
else -> result.notImplemented()
}
}
......@@ -359,28 +360,82 @@ class MainActivity : MethodChannel.MethodCallHandler, FlutterActivity(), MifareT
.addLine()
.addBlankSpace(10)
.setAlign(Paint.Align.LEFT)
.addText("Tanggal..........................: " + sdf.format(timeNow))
.addText("Tanggal" ,false)
.setAlign(Paint.Align.CENTER)
.addText(":", false)
.setAlign(Paint.Align.RIGHT)
.addText(sdf.format(timeNow), true)
.addBlankSpace(10)
.addText("No Transaksi................: $approvalCode")
.setAlign(Paint.Align.LEFT)
.addText("No Transaksi", false)
.setAlign(Paint.Align.CENTER)
.addText(":",false)
.setAlign(Paint.Align.RIGHT)
.addText(approvalCode,true)
.addBlankSpace(10)
.addText("No Kartu........................: " + ticket.cardNumber)
.setAlign(Paint.Align.LEFT)
.addText("No Kartu",false)
.setAlign(Paint.Align.CENTER)
.addText(":",false)
.setAlign(Paint.Align.RIGHT)
.addText(ticket.cardNumber,true)
.addBlankSpace(10)
.addText("Masa Berlaku...............: " + sdf.format(cardExpiry))
.setAlign(Paint.Align.LEFT)
.addText("Masa Berlaku", false)
.setAlign(Paint.Align.CENTER)
.addText(":", false)
.setAlign(Paint.Align.RIGHT)
.addText(sdf.format(cardExpiry),true)
.addBlankSpace(10)
if (status == "Berhasil"){
receiptLayout.addText("Saldo Awal...................: Rp" + formatDecimalToPrice(prevBalance.toDouble()).toString())
receiptLayout.setAlign(Paint.Align.LEFT)
.addText("Saldo Awal",false)
.setAlign(Paint.Align.CENTER)
.addText(":",false)
.setAlign(Paint.Align.RIGHT)
.addText("Rp" + formatDecimalToPrice(prevBalance.toDouble()).toString(),true)
.addBlankSpace(10)
.addText("Isi Saldo.........................: Rp" + formatDecimalToPrice(denom.toDouble()))
.setAlign(Paint.Align.LEFT)
.addText("Isi Saldo",false )
.setAlign(Paint.Align.CENTER)
.addText(":",false)
.setAlign(Paint.Align.RIGHT)
.addText("Rp" + formatDecimalToPrice(denom.toDouble()),true)
.addBlankSpace(10)
.addText("Saldo Akhir....................: Rp" + formatDecimalToPrice(ticket.balance!!.toDouble()))
.setAlign(Paint.Align.LEFT)
.addText("Saldo Akhir",false )
.setAlign(Paint.Align.CENTER)
.addText(":",false)
.setAlign(Paint.Align.RIGHT)
.addText("Rp" + formatDecimalToPrice(ticket.balance!!.toDouble()),true)
.addBlankSpace(10)
.addText("Biaya Layanan..............: Rp" + formatDecimalToPrice(serviceCharge.toDouble()).toString())
.setAlign(Paint.Align.LEFT)
.addText("Biaya Layanan",false)
.setAlign(Paint.Align.CENTER)
.addText(":",false)
.setAlign(Paint.Align.RIGHT)
.addText("Rp" + formatDecimalToPrice(serviceCharge.toDouble()).toString(),true)
.addBlankSpace(10)
.addText("Jumlah Bayar................: Rp" + formatDecimalToPrice(serviceChargeAmount.toDouble()).toString())
.setAlign(Paint.Align.LEFT)
.addText("Jumlah Bayar",false)
.setAlign(Paint.Align.CENTER)
.addText(":",false)
.setAlign(Paint.Align.RIGHT)
.addText("Rp" + formatDecimalToPrice(serviceChargeAmount.toDouble()).toString(),true)
.addBlankSpace(10)
.addText("Metode Bayar...............: $metodeBayar")
.setAlign(Paint.Align.LEFT)
.addText("Metode Bayar",false)
.setAlign(Paint.Align.CENTER)
.addText(":",false)
.setAlign(Paint.Align.RIGHT)
.addText(metodeBayar,true)
.addBlankSpace(10)
.addText("Status.............................: $status")
.setAlign(Paint.Align.LEFT)
.addText("Status",false)
.setAlign(Paint.Align.CENTER)
.addText(":",false)
.setAlign(Paint.Align.RIGHT)
.addText(status,true)
.addBlankSpace(10)
receiptLayout = receiptLayout
.setAlign(Paint.Align.CENTER)
......@@ -391,19 +446,54 @@ class MainActivity : MethodChannel.MethodCallHandler, FlutterActivity(), MifareT
.addBlankSpace(10)
.addText("powered by dolanapp.com")
} else {
receiptLayout.addText("Saldo Awal...................: Rp" + formatDecimalToPrice(prevBalance.toDouble()).toString())
receiptLayout.setAlign(Paint.Align.LEFT)
.addText("Saldo Awal",false)
.setAlign(Paint.Align.CENTER)
.addText(":",false)
.setAlign(Paint.Align.RIGHT)
.addText("Rp" + formatDecimalToPrice(prevBalance.toDouble()).toString(),true)
.addBlankSpace(10)
.addText("Isi Saldo.........................: Rp" + formatDecimalToPrice(denom.toDouble()))
.setAlign(Paint.Align.LEFT)
.addText("Isi Saldo",false)
.setAlign(Paint.Align.CENTER)
.addText(":",false)
.setAlign(Paint.Align.RIGHT)
.addText("Rp" + formatDecimalToPrice(denom.toDouble()),true)
.addBlankSpace(10)
.addText("Saldo Akhir....................: Rp" + formatDecimalToPrice(ticket.balance!!.toDouble()))
.setAlign(Paint.Align.LEFT)
.addText("Saldo Akhir",false)
.setAlign(Paint.Align.CENTER)
.addText(":",false)
.setAlign(Paint.Align.RIGHT)
.addText("Rp" + formatDecimalToPrice(ticket.balance!!.toDouble()),true)
.addBlankSpace(10)
.addText("Biaya Layanan..............: Rp" + formatDecimalToPrice(serviceCharge.toDouble()).toString())
.setAlign(Paint.Align.LEFT)
.addText("Biaya Layanan",false)
.setAlign(Paint.Align.CENTER)
.addText(":",false)
.setAlign(Paint.Align.RIGHT)
.addText("Rp" + formatDecimalToPrice(serviceCharge.toDouble()).toString(),true)
.addBlankSpace(10)
.addText("Jumlah Bayar................: Rp" + formatDecimalToPrice(serviceChargeAmount.toDouble()).toString())
.setAlign(Paint.Align.LEFT)
.addText("Jumlah Bayar",false)
.setAlign(Paint.Align.CENTER)
.addText(":",false)
.setAlign(Paint.Align.RIGHT)
.addText("Rp" + formatDecimalToPrice(serviceChargeAmount.toDouble()).toString(),true)
.addBlankSpace(10)
.addText("Metode Bayar...............: $metodeBayar")
.setAlign(Paint.Align.LEFT)
.addText("Metode Bayar",false)
.setAlign(Paint.Align.CENTER)
.addText(":",false)
.setAlign(Paint.Align.RIGHT)
.addText(metodeBayar,true)
.addBlankSpace(10)
.addText("Status.............................: $status")
.setAlign(Paint.Align.LEFT)
.addText("Status",false)
.setAlign(Paint.Align.CENTER)
.addText(":",false)
.setAlign(Paint.Align.RIGHT)
.addText(status,true)
.addBlankSpace(10)
receiptLayout = receiptLayout
.setAlign(Paint.Align.CENTER)
......
......@@ -31,6 +31,8 @@ class WristbandInfo {
String? metodeBayar;
@ColumnInfo(name: 'status')
String? status;
@ColumnInfo(name: 'payment_notes')
String? paymentNotes;
WristbandInfo(
this.readerDate,
......@@ -46,6 +48,7 @@ class WristbandInfo {
this.persoReff,
this.metodeBayar,
this.status,
this.paymentNotes
);
Map<String, dynamic> toJson() => {
......@@ -61,5 +64,6 @@ class WristbandInfo {
'perso_reff': persoReff,
'metode_bayar': metodeBayar,
'status': status,
'payment_notes': paymentNotes,
};
}
......@@ -24,7 +24,10 @@ class StartService {
String prevBalance,
String cardNumber,
String getRegDb,
String amount) async {
String amount,
String outletId,
String persoReff
) async {
var result;
try {
result = await platform.invokeMethod("topup_inquiry", <String, dynamic>{
......@@ -33,6 +36,8 @@ class StartService {
'card_number': cardNumber,
'get_reg_db': getRegDb,
'amount': amount,
"outlet_id": outletId,
"perso_reff": persoReff
});
} catch (error) {
result = error.toString();
......@@ -96,6 +101,7 @@ class StartService {
String approvalCode,
String paymentMethod,
String paymentProvider,
String paymentNotes,
) async {
var result;
try {
......@@ -107,6 +113,7 @@ class StartService {
'approval_code': approvalCode,
'payment_method': paymentMethod,
'payment_provider': paymentProvider,
'payment_notes': paymentNotes
});
} catch (error) {
result = error.toString();
......@@ -126,14 +133,33 @@ class StartService {
}
static Future<bool> initLibrary() async {
int initCount = 0;
const int MAX_INIT_ATTEMPTS = 3;
var response = await platform.invokeMethod("init_library");
if (response == "success init engine") {
return true;
} else {
// Jika tidak berhasil, coba lagi dengan memanggil fungsi initLibrary()
return await initLibrary();
// Jika tidak berhasil dan belum mencapai batas rekursi, coba lagi dengan memanggil fungsi initLibrary()
if(initCount < MAX_INIT_ATTEMPTS){
initCount++;
return await initLibrary();
}else{
// Jika sudah mencapai batas rekursi, keluar dari fungsi dengan mengembalikan false
return false;
}
}
}
// static Future<bool> initLibrary() async {
// int initCount = 0;
// const int MAX_INIT_ATTEMPTS = 3;
// var response = await platform.invokeMethod("init_library");
// if (response == "success init engine") {
// return true;
// } else {
// // Jika tidak berhasil, coba lagi dengan memanggil fungsi initLibrary()
// return await initLibrary();
// }
// }
static Future<bool> bypassActivation() async {
......
......@@ -89,6 +89,8 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
Color _tapColor3 = Colors.grey;
int _activeContainerIndex = 1;
double _downloadSpeed = 0;
bool showSectionQris = false;
bool showSectionWristband = false;
var infoCard,
prevInfoCard,
......@@ -99,6 +101,8 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
cardNumber,
name,
getRegDb,
outletId,
persoReff,
lastBalance,
approvalCode,
amount,
......@@ -133,6 +137,7 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
_showTap();
tapDial();
});
showSectionQris = false;
idleDuration = ValueNotifier<int>(_maxDuration);
Timer.periodic(Duration(seconds: 1), (timer) {
if (idleDuration.value > 0) {
......@@ -341,6 +346,9 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
prevBalance = infoMap["balance"].toString();
cardNumber = infoMap["cardNumber"].toString();
getRegDb = infoMap["regDb"];
outletId = PreferencesHelper.getString('outletname');
outletId = outletId.substring(outletId.length -4);
persoReff = infoMap['regDb'];
var cusName = infoMap["name"].toString();
String cardNo = cardNumber.toString();
String targetMasked = cardNo.substring(0, 12);
......@@ -355,7 +363,14 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
});
amount = amountController!.text.replaceAll(",", "").toString();
var responseInquiry = await StartService.topupInquiryResponse(
outletName, prevBalance!, cardNumber, getRegDb, amount);
outletName,
prevBalance!,
cardNumber,
getRegDb,
amount,
outletId,
persoReff,
);
var infoInquiry = jsonDecode(responseInquiry);
var name = infoMap["name"].toString().trim();
......@@ -421,6 +436,7 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
samReport,
paymentMethod,
paymentProvider,
paymentNotes,
metodeBayar,
status;
......@@ -431,13 +447,14 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
paymentMethod = 'QRIS';
// paymentProvider = PreferencesHelper.getString('provider');
paymentProvider = '';
paymentNotes = '';
tid = PreferencesHelper.getString('outletname');
tid = tid.substring(tid.length -4);
if (int.parse(lastBalance) > int.parse(prevBalance!)) {
countMax = 0;
var result = await StartService.topUpConfirm(cardNumber, lastBalance, tid,
samReport, approvalCode, paymentMethod, paymentProvider);
samReport, approvalCode, paymentMethod, paymentProvider, paymentNotes);
print('topUpConfirm result: $result');
String readerDate,
......@@ -491,7 +508,9 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
rawData,
persoReff,
PreferencesHelper.getString("provider"),
'Berhasil');
'Berhasil',
paymentNotes
);
DatabaseHelper.insertTransaction(wristbandInfo);
print("ini pesan tersimpan berhasil ke database$wristbandInfo");
......@@ -2069,14 +2088,21 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
children: [
ListView(
shrinkWrap: true,
padding: const EdgeInsets.symmetric(
horizontal: 45,
vertical: 8,
),
// padding: const EdgeInsets.symmetric(
// horizontal: 1,
// vertical: 8,
// ),
children: [
buildcardInfo(),
buildwalletCard(),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
showSectionQris ? SectionQris() : buildSectionContent(),
showSectionWristband ? SectionWristband() : (showSectionQris ? SectionQris() : buildSectionContent()),
],
),
buildServices(context),
// buildFloat(),
],
),
......@@ -2136,20 +2162,67 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
);
}
Widget buildSectionContent() {
if (showSectionQris) {
return SectionQris();
} else {
return SectionDenom();
}
}
Widget SectionQris(){
return Container(
width: 680,
height: 480,
decoration: BoxDecoration(
color: Colors.green
),
);
}
Widget SectionDenom(){
return Container(
width: 680,
height: 480,
decoration: BoxDecoration(
color: Colors.yellow
),
child:Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
TextButton(
onPressed: () {
setState(() {
showSectionWristband = true;
showSectionQris = true;
});
},
child: const HomeServices(
iconUrl: 'assets/ic_send.png',
title: 'Lanjut',
subtitle: 'Continue',
),
),
],
),
);
}
//SECTION walletcard
Widget buildwalletCard() {
return Center(
child: Container(
width: 1090,
Widget SectionWristband() {
return Container(
width: 680,
height: 480,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(28),
image: const DecorationImage(
fit: BoxFit.cover,
image: AssetImage(
'assets/img_bg_card.png',
),
),
color: Colors.blue,
borderRadius: BorderRadius.circular(0),
// image: const DecorationImage(
// fit: BoxFit.cover,
// image: AssetImage(
// 'assets/img_bg_card.png',
// ),
// ),
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
......@@ -2157,15 +2230,15 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
children: [
Text(
(balance != null) ? 'Saldo $balance' : 'Saldo 0',
style: whiteTextStyle.copyWith(
fontSize: 28,
style: blackTextStyle.copyWith(
fontSize: 15,
fontWeight: medium,
letterSpacing: 3,
),
),
Text(
'balance',
style: whiteTextStyle.copyWith(
style: blackTextStyle.copyWith(
fontSize: 15,
fontWeight: light,
fontStyle: FontStyle.italic,
......@@ -2175,64 +2248,53 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
const SizedBox(
height: 10,
),
Text(
'-----------------------------',
style: whiteTextStyle.copyWith(
fontSize: 30,
fontWeight: semiBold,
letterSpacing: 16,
),
),
const SizedBox(
height: 15,
),
Row(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.start,
children: [
const SizedBox(
width: 100,
),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.start,
children: [
Text(
'Nama/name',
style: whiteTextStyle.copyWith(
fontSize: 20,
style: blackTextStyle.copyWith(
fontSize: 15,
fontWeight: medium,
letterSpacing: 3,
),
),
Text(
'Nomor Wristband/wristband no',
style: whiteTextStyle.copyWith(
fontSize: 20,
style: blackTextStyle.copyWith(
fontSize: 15,
fontWeight: medium,
letterSpacing: 3,
),
),
Text(
'Status',
style: whiteTextStyle.copyWith(
fontSize: 20,
style: blackTextStyle.copyWith(
fontSize: 15,
fontWeight: medium,
letterSpacing: 3,
),
),
Text(
'Masa Berlaku/expirity',
style: whiteTextStyle.copyWith(
fontSize: 20,
style: blackTextStyle.copyWith(
fontSize: 15,
fontWeight: medium,
letterSpacing: 3,
),
),
Text(
'Deposit',
style: whiteTextStyle.copyWith(
fontSize: 20,
style: blackTextStyle.copyWith(
fontSize: 15,
letterSpacing: 3,
fontWeight: medium,
),
......@@ -2248,65 +2310,54 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
children: [
Text(
(name != null) ? ': $name' : ': -',
style: whiteTextStyle.copyWith(
fontSize: 20,
style: blackTextStyle.copyWith(
fontSize: 15,
fontWeight: medium,
letterSpacing: 3,
),
),
Text(
(maskedText != null) ? ': $maskedText' : ': -',
style: whiteTextStyle.copyWith(
fontSize: 20,
style: blackTextStyle.copyWith(
fontSize: 15,
fontWeight: medium,
letterSpacing: 3,
),
),
Text(
(cardType != null) ? ': $cardType' : ': -',
style: whiteTextStyle.copyWith(
fontSize: 20,
style: blackTextStyle.copyWith(
fontSize: 15,
fontWeight: medium,
letterSpacing: 3,
),
),
Text(
(cardExpirity != null) ? ': $cardExpirity' : ': -',
style: whiteTextStyle.copyWith(
fontSize: 20,
style: blackTextStyle.copyWith(
fontSize: 15,
fontWeight: medium,
letterSpacing: 3,
),
),
Text(
(deposit != null) ? ': $deposit' : ': -',
style: whiteTextStyle.copyWith(
fontSize: 20,
style: blackTextStyle.copyWith(
fontSize: 15,
letterSpacing: 3,
fontWeight: medium,
),
),
],
),
const SizedBox(
width: 250,
),
],
),
const SizedBox(
height: 25,
),
Text(
'-----------------------------',
style: whiteTextStyle.copyWith(
fontSize: 30,
fontWeight: semiBold,
letterSpacing: 16,
),
),
Text(
'Saldo dan deposit wristband bisa dikembalikan di Refund Center',
style: whiteTextStyle.copyWith(
style: blackTextStyle.copyWith(
fontSize: 20,
fontWeight: medium,
),
......@@ -2321,8 +2372,8 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
),
],
),
),
);
);
}
//SECTION level
......@@ -2331,7 +2382,8 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
margin: const EdgeInsets.only(
top: 25,
),
child: Stack(
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
// widget lainnya di sini
Positioned(
......@@ -2401,80 +2453,78 @@ class _HomePageState extends State<HomePage> implements AlertDialogCallback {
),
),
Column(
crossAxisAlignment: CrossAxisAlignment.center,
children: [
GestureDetector(
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
TextButton(
onPressed: () {
isShowingDialog = true;
if (timer != null) timer?.cancel();
tapIdle();
amountController?.clear();
var infoMap = jsonDecode(infoCard);
plainCardExpirity = infoMap['cardExpirity'];
var change = DateTime.fromMillisecondsSinceEpoch(
int.parse(infoMap['cardExpirity']) * 1000,
);
dateTimeCardExpirity = change;
final DateFormat formatter = DateFormat('dd-MMM-yyyy');
cardExpirity = formatter.format(change);
deposit = CurrencyFormat.convertToIdr(infoMap["deposit"], 2);
cardNumber = infoMap["cardNumber"];
String outletName = PreferencesHelper.getString('outlet_name');
countMax += 1;
String nilaiTap = PreferencesHelper.getString('maxTap');
String newCardNumber = infoMap["cardNumber"];
AwesomeDialog(
context: context,
dialogType: DialogType.info,
animType: AnimType.rightSlide,
dismissOnTouchOutside: false,
autoHide: Duration(seconds: 2),
headerAnimationLoop: true,
title: 'Mohon Tunggu Sebentar ...',
titleTextStyle: blackTextStyle.copyWith(
fontSize: 20,
fontWeight: bold,
),
desc: "Please wait a moment ...",
descTextStyle: greyTextStyle.copyWith(
fontSize: 18,
fontWeight: light,
),
).show().then((value) {
denom(outletName, infoCard);
});
},
child: const HomeServices(
iconUrl: 'assets/ic_topup.png',
title: 'Isi Ulang',
subtitle: " topup balance",
),
),
TextButton(
onPressed: () {
timer?.cancel();
isShowingDialog = true;
_showTap();
tapDial();
},
child: const HomeServices(
iconUrl: 'assets/ic_send.png',
title: 'Cek Saldo',
subtitle: ' balance',
),
),
],
),
)
],
),
// Column(
// crossAxisAlignment: CrossAxisAlignment.center,
// children: [
// GestureDetector(
// child: Row(
// mainAxisAlignment: MainAxisAlignment.center,
// children: [
// TextButton(
// onPressed: () {
// isShowingDialog = true;
// if (timer != null) timer?.cancel();
// tapIdle();
// amountController?.clear();
// var infoMap = jsonDecode(infoCard);
// plainCardExpirity = infoMap['cardExpirity'];
// var change = DateTime.fromMillisecondsSinceEpoch(
// int.parse(infoMap['cardExpirity']) * 1000,
// );
// dateTimeCardExpirity = change;
// final DateFormat formatter = DateFormat('dd-MMM-yyyy');
// cardExpirity = formatter.format(change);
// deposit = CurrencyFormat.convertToIdr(infoMap["deposit"], 2);
// cardNumber = infoMap["cardNumber"];
// String outletName = PreferencesHelper.getString('outlet_name');
// countMax += 1;
// String nilaiTap = PreferencesHelper.getString('maxTap');
// String newCardNumber = infoMap["cardNumber"];
// AwesomeDialog(
// context: context,
// dialogType: DialogType.info,
// animType: AnimType.rightSlide,
// dismissOnTouchOutside: false,
// autoHide: Duration(seconds: 2),
// headerAnimationLoop: true,
// title: 'Mohon Tunggu Sebentar ...',
// titleTextStyle: blackTextStyle.copyWith(
// fontSize: 20,
// fontWeight: bold,
// ),
// desc: "Please wait a moment ...",
// descTextStyle: greyTextStyle.copyWith(
// fontSize: 18,
// fontWeight: light,
// ),
// ).show().then((value) {
// denom(outletName, infoCard);
// });
// },
// child: const HomeServices(
// iconUrl: 'assets/ic_topup.png',
// title: 'Isi Ulang',
// subtitle: " topup balance",
// ),
// ),
// TextButton(
// onPressed: () {
// timer?.cancel();
// isShowingDialog = true;
// _showTap();
// tapDial();
// },
// child: const HomeServices(
// iconUrl: 'assets/ic_send.png',
// title: 'Cek Saldo',
// subtitle: ' balance',
// ),
// ),
// ],
// ),
// )
// ],
// ),
],
),
);
......
......@@ -42,7 +42,7 @@ class SplashPage extends StatefulWidget {
class _SplashPageState extends State<SplashPage> with TickerProviderStateMixin{
late final AnimationController _controller = AnimationController(
duration: const Duration(seconds:2),
duration: const Duration(seconds:1),
vsync: this,
)..repeat(reverse: true);
......
......@@ -40,15 +40,15 @@ class _TapCardAktivasiState extends State<TapCardAktivasi>
void initState() {
super.initState();
aktivasi();
initLib();
// initLib();
}
void initLib() async {
var isTap = await StartService.initLibrary();
if (isTap == true) {
aktivasi();
}
}
// void initLib() async {
// var isTap = await StartService.initLibrary();
// if (isTap == true) {
// aktivasi();
// }
// }
void aktivasi() async {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment