Commit aa299fb7 authored by Muhammad Suryono's avatar Muhammad Suryono

fix nfc

parent 40f6717e
...@@ -167,6 +167,7 @@ public class BottomSheets extends BottomSheetDialogFragment { ...@@ -167,6 +167,7 @@ public class BottomSheets extends BottomSheetDialogFragment {
PaymentService paymentService = client.Client(PaymentService.class); PaymentService paymentService = client.Client(PaymentService.class);
if (statusUpdatePayment == 0){ if (statusUpdatePayment == 0){
paymentsModels1.setOrderId(sharedPreferences.getString(ORDER_ID, ""));
view.getContext().startActivity(new Intent(getActivity(), TransactionDetail.class) view.getContext().startActivity(new Intent(getActivity(), TransactionDetail.class)
.putExtra(MethodePayment.VIA_CASH, paymentsModels1)); .putExtra(MethodePayment.VIA_CASH, paymentsModels1));
// paymentsModels1.setOrderId(sharedPreferences.getString(ORDER_ID, "")); // paymentsModels1.setOrderId(sharedPreferences.getString(ORDER_ID, ""));
......
...@@ -102,17 +102,6 @@ public class MethodePayment extends AppCompatActivity { ...@@ -102,17 +102,6 @@ public class MethodePayment extends AppCompatActivity {
paymentsModels.setOrderId(productCartModels.get(0).getId_orders()); paymentsModels.setOrderId(productCartModels.get(0).getId_orders());
paymentsModels.setGrossAmount(total); paymentsModels.setGrossAmount(total);
Log.i("paymentModels", "onCreate: "+utils.convertGson(paymentsModels)); Log.i("paymentModels", "onCreate: "+utils.convertGson(paymentsModels));
// if (productCartModels.size() !=0){
// getSupportActionBar().setTitle(productCartModels.get(0).getId_orders());
// paymentsModels.setOrderId(productCartModels.get(0).getId_orders());
// paymentsModels.setGrossAmount(total);
// checkoutAdapter.setCheckoutAdapter(PaymentActivity.this, productCartModels);
// recyclerView.setLayoutManager(new LinearLayoutManager(PaymentActivity.this, RecyclerView.VERTICAL, false));
// recyclerView.setAdapter(checkoutAdapter);
// recyclerView.addItemDecoration(dividerItemDecoration);
//// grandTotal.setText(utils.convertPrice("Rp. ", total));
// }
} }
}); });
}else{ }else{
...@@ -147,11 +136,16 @@ public class MethodePayment extends AppCompatActivity { ...@@ -147,11 +136,16 @@ public class MethodePayment extends AppCompatActivity {
} }
private void nfc() { private void nfc() {
startActivity(new Intent(MethodePayment.this, ScannerNfc.class)); if (paymentsModelsIntent == null){
startActivity(new Intent(MethodePayment.this, ScannerNfc.class)
.putExtra(VIA_NFC, paymentsModels));
}
} }
private void bank() { private void bank() {
if (paymentsModelsIntent == null){ if (paymentsModelsIntent == null){
paymentsModels.setPaymentType("nfc");
startActivity(new Intent(MethodePayment.this, PaymentActivity.class) startActivity(new Intent(MethodePayment.this, PaymentActivity.class)
.putExtra(METHODE_PAYMENT_DATA, paymentsModels)); .putExtra(METHODE_PAYMENT_DATA, paymentsModels));
} }
......
...@@ -2,7 +2,9 @@ package com.yono.messeripos; ...@@ -2,7 +2,9 @@ package com.yono.messeripos;
import android.app.PendingIntent; import android.app.PendingIntent;
import android.app.ProgressDialog; import android.app.ProgressDialog;
import android.content.Context;
import android.content.Intent; import android.content.Intent;
import android.content.SharedPreferences;
import android.nfc.NdefMessage; import android.nfc.NdefMessage;
import android.nfc.NdefRecord; import android.nfc.NdefRecord;
import android.nfc.NfcAdapter; import android.nfc.NfcAdapter;
...@@ -24,8 +26,11 @@ import android.widget.Toast; ...@@ -24,8 +26,11 @@ import android.widget.Toast;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.app.AppCompatActivity;
import androidx.lifecycle.ViewModelProvider;
import com.yono.messeripos.R; import com.yono.messeripos.R;
import com.yono.messeripos.models.MainViewModelsCart;
import com.yono.messeripos.models.PaymentsModels;
import com.yono.messeripos.nfc.parser.NdefMessageParser; import com.yono.messeripos.nfc.parser.NdefMessageParser;
import com.yono.messeripos.nfc.record.ParsedNdefRecord; import com.yono.messeripos.nfc.record.ParsedNdefRecord;
import com.yono.messeripos.utils.Utils; import com.yono.messeripos.utils.Utils;
...@@ -38,6 +43,12 @@ public class ScannerNfc extends AppCompatActivity { ...@@ -38,6 +43,12 @@ public class ScannerNfc extends AppCompatActivity {
NfcAdapter nfcAdapter; NfcAdapter nfcAdapter;
Utils utils = new Utils(); Utils utils = new Utils();
ProgressDialog progressDialog; ProgressDialog progressDialog;
PaymentsModels paymentsModels;
MainViewModelsCart mainViewModelsCart;
public static final String MY_SHARED_NFC = "shared_nfc";
public static String getMySharedNfc;
public static final String NFC_ID = "nfcId";
SharedPreferences sharedPreferences, sharedPreferencesMain;
@Override @Override
public void onCreate(@Nullable Bundle savedInstanceState) { public void onCreate(@Nullable Bundle savedInstanceState) {
...@@ -48,6 +59,11 @@ public class ScannerNfc extends AppCompatActivity { ...@@ -48,6 +59,11 @@ public class ScannerNfc extends AppCompatActivity {
progressDialog = new ProgressDialog(ScannerNfc.this); progressDialog = new ProgressDialog(ScannerNfc.this);
progressDialog.setMessage("Loading..."); progressDialog.setMessage("Loading...");
paymentsModels = getIntent().getParcelableExtra(MethodePayment.VIA_NFC);
mainViewModelsCart = new ViewModelProvider(this).get(MainViewModelsCart.class);
sharedPreferences = getSharedPreferences(MY_SHARED_NFC, Context.MODE_PRIVATE);
sharedPreferencesMain = getSharedPreferences(MainActivity.MY_SHARED_PREFERENCES, Context.MODE_PRIVATE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
Window w = getWindow(); Window w = getWindow();
w.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS); w.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
...@@ -108,8 +124,14 @@ public class ScannerNfc extends AppCompatActivity { ...@@ -108,8 +124,14 @@ public class ScannerNfc extends AppCompatActivity {
NdefMessage msg = new NdefMessage(new NdefRecord[] {record}); NdefMessage msg = new NdefMessage(new NdefRecord[] {record});
msgs = new NdefMessage[] {msg}; msgs = new NdefMessage[] {msg};
Log.i("DUMPTAG", "resolveIntent: "+toDec(tag.getId())); Log.i("DUMPTAG", "resolveIntent: "+toDec(tag.getId()));
/**
* DISINI UNTUK SAVE KE DATABASE*/ SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(NFC_ID, ""+toDec(tag.getId()));
if (editor.commit()){
paymentsModels.setOrderId(sharedPreferencesMain.getString(MainActivity.ORDER_ID, ""));
startActivity(new Intent(ScannerNfc.this, TransactionDetail.class)
.putExtra(MethodePayment.VIA_NFC, paymentsModels));
}
progressDialog.dismiss(); progressDialog.dismiss();
} }
......
...@@ -50,7 +50,7 @@ public class TransactionDetail extends AppCompatActivity { ...@@ -50,7 +50,7 @@ public class TransactionDetail extends AppCompatActivity {
ProgressDialog progressDialog; ProgressDialog progressDialog;
Client client = new Client(); Client client = new Client();
PaymentService paymentService; PaymentService paymentService;
SharedPreferences sharedPreferences; SharedPreferences sharedPreferences, sharedPreferencesNfc;
PaymentCreated paymentCreated; PaymentCreated paymentCreated;
@Override @Override
...@@ -82,7 +82,14 @@ public class TransactionDetail extends AppCompatActivity { ...@@ -82,7 +82,14 @@ public class TransactionDetail extends AppCompatActivity {
paymentCreated = new PaymentCreated(); paymentCreated = new PaymentCreated();
paymentCreated.setCancelable(false); paymentCreated.setCancelable(false);
sharedPreferences = getSharedPreferences(MainActivity.MY_SHARED_PREFERENCES, Context.MODE_PRIVATE); sharedPreferences = getSharedPreferences(MainActivity.MY_SHARED_PREFERENCES, Context.MODE_PRIVATE);
sharedPreferencesNfc = getSharedPreferences(ScannerNfc.MY_SHARED_NFC, Context.MODE_PRIVATE);
Log.i("LOGNFC", "onCreate: "+sharedPreferencesNfc.getString(ScannerNfc.NFC_ID, ""));
paymentsModelsBank = getIntent().getParcelableExtra(PaymentActivity.PAYMENT_VIA_BANK); paymentsModelsBank = getIntent().getParcelableExtra(PaymentActivity.PAYMENT_VIA_BANK);
paymentsModelsCash = getIntent().getParcelableExtra(MethodePayment.VIA_CASH);
paymentsModelsNfc = getIntent().getParcelableExtra(MethodePayment.VIA_NFC);
Log.i("LOGNFCPINDAH", ""+utils.convertGson(paymentsModelsNfc));
recyclerView.setLayoutManager(new LinearLayoutManager(this, RecyclerView.VERTICAL, false)); recyclerView.setLayoutManager(new LinearLayoutManager(this, RecyclerView.VERTICAL, false));
...@@ -93,17 +100,25 @@ public class TransactionDetail extends AppCompatActivity { ...@@ -93,17 +100,25 @@ public class TransactionDetail extends AppCompatActivity {
} }
private void getListTransaction() { private void getListTransaction() {
if (paymentsModelsBank != null){ if (paymentsModelsBank != null){
grossAmount.setText(utils.convertPrice("Rp. ", paymentsModelsBank.getGrossAmount())); grossAmount.setText(utils.convertPrice("Rp. ", paymentsModelsBank.getGrossAmount()));
grossAmountMethod.setText(utils.convertPrice("Rp. ", paymentsModelsBank.getGrossAmount())); grossAmountMethod.setText(utils.convertPrice("Rp. ", paymentsModelsBank.getGrossAmount()));
namaBank.setText(paymentsModelsBank.getBank().toUpperCase()); namaBank.setText(paymentsModelsBank.getBank().toUpperCase());
if (paymentsModelsBank.getPaymentType() == "bank_transfer"){ paymentMethode.setText("Bank Transfer".toString());
payment = "Bank Transfer";
}
paymentMethode.setText(payment);
ordersId = paymentsModelsBank.getOrderId(); ordersId = paymentsModelsBank.getOrderId();
} else if (paymentsModelsCash != null){
grossAmount.setText(utils.convertPrice("Rp. ", paymentsModelsCash.getGrossAmount()));
grossAmountMethod.setText(utils.convertPrice("Rp. ", paymentsModelsCash.getGrossAmount()));
namaBank.setText(paymentsModelsCash.getBank().toUpperCase());
paymentMethode.setText("Cash".toString());
ordersId = paymentsModelsCash.getOrderId();
} else if (paymentsModelsNfc != null){
grossAmount.setText(utils.convertPrice("Rp. ", paymentsModelsNfc.getGrossAmount()));
grossAmountMethod.setText(utils.convertPrice("Rp. ", paymentsModelsNfc.getGrossAmount()));
namaBank.setText(paymentsModelsCash.getBank().toUpperCase());
paymentMethode.setText("NFC Tap".toString());
ordersId = paymentsModelsNfc.getOrderId();
} }
mainViewModelsCart.getCartById(ordersId).observe(this, new Observer<List<ProductCartModels>>() { mainViewModelsCart.getCartById(ordersId).observe(this, new Observer<List<ProductCartModels>>() {
@Override @Override
...@@ -138,6 +153,64 @@ public class TransactionDetail extends AppCompatActivity { ...@@ -138,6 +153,64 @@ public class TransactionDetail extends AppCompatActivity {
} }
} }
@Override
public void onFailure(Call<DataResponse<PaymentsModels<List<VaNumberModels>>>> call, Throwable t) {
progressDialog.dismiss();
new AlertDialog.Builder(TransactionDetail.this)
.setTitle("Payment Order")
.setMessage("Erorr save!").show();
}
});
}else if (paymentsModelsCash != null){
paymentService = client.Client(PaymentService.class);
paymentService.postFromCart(paymentsModelsCash).enqueue(new Callback<DataResponse<PaymentsModels<List<VaNumberModels>>>>() {
@Override
public void onResponse(Call<DataResponse<PaymentsModels<List<VaNumberModels>>>> call, Response<DataResponse<PaymentsModels<List<VaNumberModels>>>> response) {
if (response.body() != null){
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(ORDER_ID, "");
editor.putBoolean(CHECKOUT, false);
progressDialog.dismiss();
if (editor.commit()){
paymentCreated.show(getSupportFragmentManager(),"paymentCreated");
}
}else{
progressDialog.dismiss();
new AlertDialog.Builder(TransactionDetail.this)
.setTitle("Payment Order")
.setMessage("Erorr save!").show();
}
}
@Override
public void onFailure(Call<DataResponse<PaymentsModels<List<VaNumberModels>>>> call, Throwable t) {
progressDialog.dismiss();
new AlertDialog.Builder(TransactionDetail.this)
.setTitle("Payment Order")
.setMessage("Erorr save!").show();
}
});
}else if (paymentsModelsNfc != null){
paymentService = client.Client(PaymentService.class);
paymentService.postFromCart(paymentsModelsNfc).enqueue(new Callback<DataResponse<PaymentsModels<List<VaNumberModels>>>>() {
@Override
public void onResponse(Call<DataResponse<PaymentsModels<List<VaNumberModels>>>> call, Response<DataResponse<PaymentsModels<List<VaNumberModels>>>> response) {
if (response.body() != null){
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString(ORDER_ID, "");
editor.putBoolean(CHECKOUT, false);
progressDialog.dismiss();
if (editor.commit()){
paymentCreated.show(getSupportFragmentManager(),"paymentCreated");
}
}else{
progressDialog.dismiss();
new AlertDialog.Builder(TransactionDetail.this)
.setTitle("Payment Order")
.setMessage("Erorr save!").show();
}
}
@Override @Override
public void onFailure(Call<DataResponse<PaymentsModels<List<VaNumberModels>>>> call, Throwable t) { public void onFailure(Call<DataResponse<PaymentsModels<List<VaNumberModels>>>> call, Throwable t) {
progressDialog.dismiss(); progressDialog.dismiss();
......
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" <RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"> xmlns:app="http://schemas.android.com/apk/res-auto">
...@@ -16,13 +17,13 @@ ...@@ -16,13 +17,13 @@
app:tabIndicatorHeight="4dp" app:tabIndicatorHeight="4dp"
app:tabTextColor="@color/colorWhite" app:tabTextColor="@color/colorWhite"
app:tabBackground="@color/colorPrimary" app:tabBackground="@color/colorPrimary"
app:layout_constraintTop_toBottomOf="@id/toolbar" android:layout_below="@id/toolbar"
app:tabMode="fixed"/> app:tabMode="fixed"/>
<androidx.viewpager.widget.ViewPager <androidx.viewpager.widget.ViewPager
android:id="@+id/viewPager" android:id="@+id/viewPager"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/tabLayout"/> android:layout_below="@id/tabLayout"/>
</androidx.constraintlayout.widget.ConstraintLayout> </RelativeLayout>
\ No newline at end of file \ No newline at end of file
...@@ -98,7 +98,7 @@ ...@@ -98,7 +98,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/lvDetail" app:layout_constraintTop_toBottomOf="@id/lvDetail"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
android:text="Admin Fee" android:text="Rp. 0"
android:textSize="12sp" android:textSize="12sp"
android:layout_marginTop="10dp"/> android:layout_marginTop="10dp"/>
...@@ -159,7 +159,6 @@ ...@@ -159,7 +159,6 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/txtMethode" app:layout_constraintTop_toBottomOf="@id/txtMethode"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
android:text=""
android:textSize="12sp" android:textSize="12sp"
android:textColor="@android:color/black" android:textColor="@android:color/black"
android:layout_marginTop="20dp" android:layout_marginTop="20dp"
......
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