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()
// 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 {
......
This diff is collapsed.
......@@ -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