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 ...@@ -163,6 +163,7 @@ class MainActivity : MethodChannel.MethodCallHandler, FlutterActivity(), MifareT
kUrlPrePaid!!, kUrlPrePaid!!,
) )
} }
else -> result.notImplemented()
} }
} }
...@@ -359,28 +360,82 @@ class MainActivity : MethodChannel.MethodCallHandler, FlutterActivity(), MifareT ...@@ -359,28 +360,82 @@ class MainActivity : MethodChannel.MethodCallHandler, FlutterActivity(), MifareT
.addLine() .addLine()
.addBlankSpace(10) .addBlankSpace(10)
.setAlign(Paint.Align.LEFT) .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) .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) .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) .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) .addBlankSpace(10)
if (status == "Berhasil"){ 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) .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) .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) .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) .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) .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) .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) .addBlankSpace(10)
receiptLayout = receiptLayout receiptLayout = receiptLayout
.setAlign(Paint.Align.CENTER) .setAlign(Paint.Align.CENTER)
...@@ -391,19 +446,54 @@ class MainActivity : MethodChannel.MethodCallHandler, FlutterActivity(), MifareT ...@@ -391,19 +446,54 @@ class MainActivity : MethodChannel.MethodCallHandler, FlutterActivity(), MifareT
.addBlankSpace(10) .addBlankSpace(10)
.addText("powered by dolanapp.com") .addText("powered by dolanapp.com")
} else { } 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) .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) .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) .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) .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) .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) .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) .addBlankSpace(10)
receiptLayout = receiptLayout receiptLayout = receiptLayout
.setAlign(Paint.Align.CENTER) .setAlign(Paint.Align.CENTER)
......
...@@ -31,6 +31,8 @@ class WristbandInfo { ...@@ -31,6 +31,8 @@ class WristbandInfo {
String? metodeBayar; String? metodeBayar;
@ColumnInfo(name: 'status') @ColumnInfo(name: 'status')
String? status; String? status;
@ColumnInfo(name: 'payment_notes')
String? paymentNotes;
WristbandInfo( WristbandInfo(
this.readerDate, this.readerDate,
...@@ -46,6 +48,7 @@ class WristbandInfo { ...@@ -46,6 +48,7 @@ class WristbandInfo {
this.persoReff, this.persoReff,
this.metodeBayar, this.metodeBayar,
this.status, this.status,
this.paymentNotes
); );
Map<String, dynamic> toJson() => { Map<String, dynamic> toJson() => {
...@@ -61,5 +64,6 @@ class WristbandInfo { ...@@ -61,5 +64,6 @@ class WristbandInfo {
'perso_reff': persoReff, 'perso_reff': persoReff,
'metode_bayar': metodeBayar, 'metode_bayar': metodeBayar,
'status': status, 'status': status,
'payment_notes': paymentNotes,
}; };
} }
...@@ -24,7 +24,10 @@ class StartService { ...@@ -24,7 +24,10 @@ class StartService {
String prevBalance, String prevBalance,
String cardNumber, String cardNumber,
String getRegDb, String getRegDb,
String amount) async { String amount,
String outletId,
String persoReff
) async {
var result; var result;
try { try {
result = await platform.invokeMethod("topup_inquiry", <String, dynamic>{ result = await platform.invokeMethod("topup_inquiry", <String, dynamic>{
...@@ -33,6 +36,8 @@ class StartService { ...@@ -33,6 +36,8 @@ class StartService {
'card_number': cardNumber, 'card_number': cardNumber,
'get_reg_db': getRegDb, 'get_reg_db': getRegDb,
'amount': amount, 'amount': amount,
"outlet_id": outletId,
"perso_reff": persoReff
}); });
} catch (error) { } catch (error) {
result = error.toString(); result = error.toString();
...@@ -96,6 +101,7 @@ class StartService { ...@@ -96,6 +101,7 @@ class StartService {
String approvalCode, String approvalCode,
String paymentMethod, String paymentMethod,
String paymentProvider, String paymentProvider,
String paymentNotes,
) async { ) async {
var result; var result;
try { try {
...@@ -107,6 +113,7 @@ class StartService { ...@@ -107,6 +113,7 @@ class StartService {
'approval_code': approvalCode, 'approval_code': approvalCode,
'payment_method': paymentMethod, 'payment_method': paymentMethod,
'payment_provider': paymentProvider, 'payment_provider': paymentProvider,
'payment_notes': paymentNotes
}); });
} catch (error) { } catch (error) {
result = error.toString(); result = error.toString();
...@@ -126,14 +133,33 @@ class StartService { ...@@ -126,14 +133,33 @@ class StartService {
} }
static Future<bool> initLibrary() async { static Future<bool> initLibrary() async {
int initCount = 0;
const int MAX_INIT_ATTEMPTS = 3;
var response = await platform.invokeMethod("init_library"); var response = await platform.invokeMethod("init_library");
if (response == "success init engine") { if (response == "success init engine") {
return true; return true;
} else { } 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(); 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 { static Future<bool> bypassActivation() async {
......
This diff is collapsed.
...@@ -42,7 +42,7 @@ class SplashPage extends StatefulWidget { ...@@ -42,7 +42,7 @@ class SplashPage extends StatefulWidget {
class _SplashPageState extends State<SplashPage> with TickerProviderStateMixin{ class _SplashPageState extends State<SplashPage> with TickerProviderStateMixin{
late final AnimationController _controller = AnimationController( late final AnimationController _controller = AnimationController(
duration: const Duration(seconds:2), duration: const Duration(seconds:1),
vsync: this, vsync: this,
)..repeat(reverse: true); )..repeat(reverse: true);
......
...@@ -40,15 +40,15 @@ class _TapCardAktivasiState extends State<TapCardAktivasi> ...@@ -40,15 +40,15 @@ class _TapCardAktivasiState extends State<TapCardAktivasi>
void initState() { void initState() {
super.initState(); super.initState();
aktivasi(); aktivasi();
initLib(); // initLib();
} }
void initLib() async { // void initLib() async {
var isTap = await StartService.initLibrary(); // var isTap = await StartService.initLibrary();
if (isTap == true) { // if (isTap == true) {
aktivasi(); // aktivasi();
} // }
} // }
void aktivasi() async { 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