Commit 02c82d78 authored by iman Fauzi's avatar iman Fauzi

membuat payment created

parent bef3835b
......@@ -21,7 +21,7 @@
<activity
android:name=".BottomSheets"
tools:ignore="Instantiatable" />
<activity android:name=".QRCode" />
<activity android:name=".PaymentCreated" />
<activity
android:name=".HistoryActivity"
android:theme="@style/AppTheme.appbar" />
......
......@@ -239,9 +239,9 @@ public class CartActivity extends AppCompatActivity {
paymentsModels.setTransactionStatus("pending");
Log.i("Convert Input", "onChanged: "+utils.convertGson(paymentsModels));
PaymentService paymentService = client.Client(PaymentService.class);
paymentService.postFromCart(paymentsModels).enqueue(new Callback<DataResponse<PaymentsModels<List<VaNumberModels>>>>() {
paymentService.postFromCart(paymentsModels).enqueue(new Callback<DataResponse<PaymentsModels>>() {
@Override
public void onResponse(Call<DataResponse<PaymentsModels<List<VaNumberModels>>>> call, Response<DataResponse<PaymentsModels<List<VaNumberModels>>>> response) {
public void onResponse(Call<DataResponse<PaymentsModels>> call, Response<DataResponse<PaymentsModels>> response) {
Log.i("Response simpan_cart", "onResponse: "+utils.convertGson(response.body()));
if (response.body() != null){
SharedPreferences.Editor editor = sharedPreferences.edit();
......@@ -259,7 +259,7 @@ public class CartActivity extends AppCompatActivity {
}
@Override
public void onFailure(Call<DataResponse<PaymentsModels<List<VaNumberModels>>>> call, Throwable t) {
public void onFailure(Call<DataResponse<PaymentsModels>> call, Throwable t) {
new AlertDialog.Builder(CartActivity.this)
.setCancelable(false)
.setTitle("Save new Order")
......
package com.yono.messeripos;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;
......@@ -22,7 +21,6 @@ import android.view.WindowManager;
import android.widget.Button;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.google.android.material.appbar.MaterialToolbar;
import com.google.android.material.bottomsheet.BottomSheetBehavior;
......@@ -34,7 +32,6 @@ import com.yono.messeripos.api.service.PaymentService;
import com.yono.messeripos.models.MainViewModelsCart;
import com.yono.messeripos.models.PaymentsModels;
import com.yono.messeripos.models.ProductCartModels;
import com.yono.messeripos.models.VaNumberModels;
import com.yono.messeripos.response.DataResponse;
import com.yono.messeripos.response.PaymentResponse;
import com.yono.messeripos.utils.Utils;
......@@ -46,7 +43,6 @@ import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
import static com.yono.messeripos.BottomSheets.bottomSheetBehavior;
import static com.yono.messeripos.BottomSheets.grossAmount;
import static com.yono.messeripos.MainActivity.CHECKOUT;
import static com.yono.messeripos.MainActivity.ORDER_ID;
......@@ -66,7 +62,7 @@ public class PaymentActivity extends AppCompatActivity {
private CheckoutAdapter checkoutAdapter;
private TextView grandTotal;
public static BottomSheets bottomSheet;
public static QRCode qrCode;
public static PaymentCreated paymentCreated;
public static SharedPreferences sharedPreferences;
ProgressDialog progressDialog;
BottomSheetBehavior bottomSheetBank;
......@@ -183,7 +179,7 @@ public class PaymentActivity extends AppCompatActivity {
Log.i("CASH", "onClick: "+utils.convertGson(paymentsModels));
bottomSheet = new BottomSheets(paymentsModels);
bottomSheet.setCancelable(true);
bottomSheet.setCancelable(false);
bottomSheet.show(getSupportFragmentManager(),
"ModalBottomSheet");
......@@ -204,9 +200,9 @@ public class PaymentActivity extends AppCompatActivity {
PaymentService paymentService = client.Client(PaymentService.class);
if (paymentsModelsIntent == null){
paymentService.postFromCart(paymentsModels).enqueue(new Callback<DataResponse<PaymentsModels<List<VaNumberModels>>>>() {
paymentService.postFromCart(paymentsModels).enqueue(new Callback<DataResponse<PaymentsModels>>() {
@Override
public void onResponse(Call<DataResponse<PaymentsModels<List<VaNumberModels>>>> call, Response<DataResponse<PaymentsModels<List<VaNumberModels>>>> response) {
public void onResponse(Call<DataResponse<PaymentsModels>> call, Response<DataResponse<PaymentsModels>> response) {
Log.i("Paymen_bank", "onResponse: "+utils.convertGson(response.body()));
if (response.body() != null){
......@@ -215,10 +211,11 @@ public class PaymentActivity extends AppCompatActivity {
editor.putBoolean(CHECKOUT, false);
progressDialog.dismiss();
if (editor.commit()){
qrCode = new QRCode(response.body());
qrCode.show(
paymentCreated = new PaymentCreated();
paymentCreated.setCancelable(false);
paymentCreated.show(
getSupportFragmentManager(),
"QRCode"
"paymentCreated"
);
}
}else{
......@@ -229,7 +226,7 @@ public class PaymentActivity extends AppCompatActivity {
}
}
@Override
public void onFailure(Call<DataResponse<PaymentsModels<List<VaNumberModels>>>> call, Throwable t) {
public void onFailure(Call<DataResponse<PaymentsModels>> call, Throwable t) {
progressDialog.dismiss();
new AlertDialog.Builder(PaymentActivity.this)
.setCancelable(false)
......@@ -250,8 +247,9 @@ public class PaymentActivity extends AppCompatActivity {
editor.putBoolean(CHECKOUT, false);
progressDialog.dismiss();
if (editor.commit()){
qrCode = new QRCode(response.body());
qrCode.show(
paymentCreated = new PaymentCreated();
paymentCreated.setCancelable(false);
paymentCreated.show(
getSupportFragmentManager(),
"QRCode"
);
......@@ -292,10 +290,10 @@ public class PaymentActivity extends AppCompatActivity {
);
PaymentService paymentService = client.Client(PaymentService.class);
paymentService.postFromCart(paymentsModels1).enqueue(new Callback<DataResponse<PaymentsModels<List<VaNumberModels>>>>() {
paymentService.postFromCart(paymentsModels1).enqueue(new Callback<DataResponse<PaymentsModels>>() {
@Override
public void onResponse(Call<DataResponse<PaymentsModels<List<VaNumberModels>>>> call,
Response<DataResponse<PaymentsModels<List<VaNumberModels>>>> response) {
public void onResponse(Call<DataResponse<PaymentsModels>> call,
Response<DataResponse<PaymentsModels>> response) {
if (response.body() != null){
progressDialog.dismiss();
SharedPreferences.Editor editor = sharedPreferences.edit();
......@@ -308,7 +306,7 @@ public class PaymentActivity extends AppCompatActivity {
}
@Override
public void onFailure(Call<DataResponse<PaymentsModels<List<VaNumberModels>>>> call, Throwable t) {
public void onFailure(Call<DataResponse<PaymentsModels>> call, Throwable t) {
}
});
......
......@@ -2,9 +2,9 @@ package com.yono.messeripos;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.Point;
import android.os.Bundle;
......@@ -14,12 +14,12 @@ import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.EditText;
import android.widget.Button;
import android.widget.ImageView;
import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
import com.google.android.material.button.MaterialButton;
import com.google.android.material.textview.MaterialTextView;
import com.google.zxing.WriterException;
import com.yono.messeripos.models.PaymentsModels;
import com.yono.messeripos.models.VaNumberModels;
import com.yono.messeripos.response.DataResponse;
......@@ -29,20 +29,9 @@ import java.util.List;
import androidmads.library.qrgenearator.QRGContents;
import androidmads.library.qrgenearator.QRGEncoder;
public class QRCode extends BottomSheetDialogFragment {
public class PaymentCreated extends BottomSheetDialogFragment {
ImageView qrCode;
MaterialTextView vaText;
QRGEncoder qrgEncoder;
String inputValue;
Bitmap bitmap;
DataResponse<PaymentsModels<List<VaNumberModels>>> paymentsModels;
public QRCode(DataResponse<PaymentsModels<List<VaNumberModels>>> paymentsModels) {
this.paymentsModels = paymentsModels;
Log.d("TAG", "QRCode: "+paymentsModels);
}
Button btnHome;
@Nullable
@Override
......@@ -53,33 +42,44 @@ public class QRCode extends BottomSheetDialogFragment {
false
);
qrCode = v.findViewById(R.id.qr_image);
vaText = v.findViewById(R.id.etVA);
WindowManager manager = (WindowManager) getActivity().getSystemService(Context.WINDOW_SERVICE);
Display display = manager.getDefaultDisplay();
Point point = new Point();
display.getSize(point);
int width = point.x;
int height = point.y;
int smallDimens = Math.min(width, height);
smallDimens = smallDimens * 3 / 4;
qrgEncoder = new QRGEncoder(
"inputValue", null,
QRGContents.Type.TEXT,
smallDimens
);
btnHome = v.findViewById(R.id.btnBackHome);
try {
bitmap = qrgEncoder.getBitmap();
qrCode.setImageBitmap(bitmap);
}catch (Exception e) {
Log.d("onCreate: ", e.toString());
btnHome.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(v.getContext(), MainActivity.class));
getActivity().finish();
}
});
return v;
}
}
// qrCode = v.findViewById(R.id.qr_image);
// vaText = v.findViewById(R.id.etVA);
//
// WindowManager manager = (WindowManager) getActivity().getSystemService(Context.WINDOW_SERVICE);
//
// Display display = manager.getDefaultDisplay();
// Point point = new Point();
// display.getSize(point);
// int width = point.x;
// int height = point.y;
// int smallDimens = Math.min(width, height);
// smallDimens = smallDimens * 3 / 4;
// qrgEncoder = new QRGEncoder(
// "inputValue", null,
// QRGContents.Type.TEXT,
// smallDimens
// );
//
// try {
// bitmap = qrgEncoder.getBitmap();
// qrCode.setImageBitmap(bitmap);
// }catch (Exception e) {
// Log.d("onCreate: ", e.toString());
// }
//
// return v;
// }
<vector android:height="128dp" android:tint="#FFFFFF"
android:viewportHeight="24" android:viewportWidth="24"
android:width="128dp" xmlns:android="http://schemas.android.com/apk/res/android">
<path android:fillColor="@android:color/white" android:pathData="M9,16.2L4.8,12l-1.4,1.4L9,19 21,7l-1.4,-1.4L9,16.2z"/>
</vector>
......@@ -13,27 +13,48 @@
xmlns:android="http://schemas.android.com/apk/res/android">
<ImageView
android:id="@+id/qr_image"
android:layout_width="300dp"
android:layout_height="300dp"
android:backgroundTint="#333"
android:src="@mipmap/ic_launcher"
app:layout_constraintTop_toTopOf="parent"
android:id="@+id/successIcon"
android:layout_width="351dp"
android:layout_height="181dp"
android:layout_marginTop="64dp"
android:src="@drawable/payment_created"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<com.google.android.material.textview.MaterialTextView
android:id="@+id/paymentCreated"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="28dp"
android:text="Payment Success Created"
android:textFontWeight="600"
android:textSize="25sp"
app:layout_constraintEnd_toEndOf="parent"
/>
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/successIcon" />
<com.google.android.material.textview.MaterialTextView
android:id="@+id/etVA"
android:id="@+id/textDetail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Va_Text"
android:textSize="20sp"
android:textStyle="bold"
app:layout_constraintTop_toBottomOf="@id/qr_image"
android:text="Please make a payment"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/paymentCreated" />
<com.google.android.material.button.MaterialButton
android:id="@+id/btnBackHome"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="30dp"
android:layout_marginVertical="20dp"
android:text="back to home"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/textDetail"
app:layout_constraintVertical_bias="0.997" />
/>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
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