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

membuat payment created

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