Commit 2439ea7b authored by Muhammad Suryono's avatar Muhammad Suryono

Merge branch 'cart' into dev

parents dbe88ca2 e9fdb6f7
......@@ -55,5 +55,7 @@ dependencies {
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
implementation 'androidmads.library.qrgenearator:QRGenearator:1.0.4'
implementation 'com.google.zxing:core:3.3.2'
}
\ No newline at end of file
......@@ -17,10 +17,11 @@
android:roundIcon="@mipmap/ic_launcher_new_icon"
android:supportsRtl="true"
android:theme="@style/AppTheme.appbar">
<activity android:name=".BottomSheets"></activity>
<activity android:name=".QRCode" />
<activity
android:name=".HistoryActivity"
android:theme="@style/AppTheme.appbar" />
<activity android:name=".InvoiceActivity" />
<activity
android:name=".LoginActivity"
android:theme="@style/AppTheme.appbar" />
......
package com.yono.messeripos;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import androidx.annotation.Nullable;
import com.google.android.material.bottomsheet.BottomSheetDialogFragment;
import com.yono.messeripos.models.PaymentsModels;
import com.yono.messeripos.utils.Utils;
import okhttp3.internal.Util;
public class BottomSheets extends BottomSheetDialogFragment {
EditText inputAmount;
TextView hargaChange, totalHarga;
Button btnCash;
Utils utils;
String defaultText = "0";
PaymentsModels paymentsModels;
public BottomSheets(PaymentsModels paymentsModels) {
this.paymentsModels = paymentsModels;
}
@Override
public View onCreateView(LayoutInflater inflater, @Nullable
ViewGroup container, @Nullable Bundle savedInstanceState)
{
View v = inflater.inflate(R.layout.activity_bottom_sheets,
container, false);
inputAmount = v.findViewById(R.id.etBayar);
hargaChange = v.findViewById(R.id.hargaChange);
btnCash = v.findViewById(R.id.btnCash);
totalHarga = v.findViewById(R.id.totalHarga);
utils = new Utils();
long ga = paymentsModels.getGrossAmount();
String setCurrency = utils.convertPrice("Rp.", ga);
totalHarga.setText(setCurrency);
hargaChange.setText(defaultText);
inputAmount.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
if (TextUtils.isEmpty(charSequence)) inputAmount.setText("0");
long grossAmount = paymentsModels.getGrossAmount();
long input = Long.parseLong(inputAmount.getText().toString());
long result = grossAmount - input;
hargaChange.setText(utils.convertPrice("Rp.", result));
}
@Override
public void afterTextChanged(Editable editable) {
}
});
return v;
}
}
package com.yono.messeripos;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
public class InvoiceActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_invoice);
}
}
\ No newline at end of file
......@@ -3,7 +3,6 @@ package com.yono.messeripos;
import androidx.appcompat.app.AppCompatActivity;
import androidx.lifecycle.Observer;
import androidx.lifecycle.ViewModelProvider;
import androidx.lifecycle.ViewModelProviders;
import androidx.recyclerview.widget.DividerItemDecoration;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
......@@ -16,18 +15,12 @@ import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.Toolbar;
import com.google.android.material.appbar.MaterialToolbar;
import com.google.android.material.snackbar.Snackbar;
import com.google.gson.Gson;
import com.yono.messeripos.adapter.CartAdapter;
import com.yono.messeripos.adapter.CheckoutAdapter;
import com.yono.messeripos.adapter.PaymentAdapter;
import com.yono.messeripos.models.MainViewModels;
import com.yono.messeripos.models.MainViewModelsCart;
import com.yono.messeripos.models.PaymentsModels;
import com.yono.messeripos.models.ProductCartModels;
......@@ -51,6 +44,9 @@ public class PaymentActivity extends AppCompatActivity {
private RecyclerView recyclerView;
private CheckoutAdapter checkoutAdapter;
private TextView grandTotal;
public static BottomSheets bottomSheet;
@Override
protected void onCreate(Bundle savedInstanceState) {
......@@ -118,10 +114,15 @@ public class PaymentActivity extends AppCompatActivity {
if (methodPay.equals("cash")){
paymentsModels.setPaymentType("cash");
Log.i("CASH", "onClick: "+utils.convertGson(paymentsModels));
bottomSheet = new BottomSheets(paymentsModels);
bottomSheet.show(getSupportFragmentManager(),
"ModalBottomSheet");
}else{
paymentsModels.setPaymentType("bank_transfer");
paymentsModels.setBank(methodPay);
Log.i("BANK", "onClick: "+utils.convertGson(paymentsModels));
}
}
});
......
package com.yono.messeripos;
import androidx.appcompat.app.AppCompatActivity;
import android.graphics.Bitmap;
import android.graphics.Point;
import android.os.Bundle;
import android.util.Log;
import android.view.Display;
import android.view.WindowManager;
import android.widget.EditText;
import android.widget.ImageView;
import com.google.android.material.textview.MaterialTextView;
import com.google.zxing.WriterException;
import androidmads.library.qrgenearator.QRGContents;
import androidmads.library.qrgenearator.QRGEncoder;
public class QRCode extends AppCompatActivity {
ImageView qrCode;
MaterialTextView vaText;
QRGEncoder qrgEncoder;
String inputValue;
Bitmap bitmap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_q_r_code);
qrCode = findViewById(R.id.qr_image);
vaText = findViewById(R.id.etVA);
WindowManager manager = (WindowManager) getSystemService(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());
}
}
}
\ No newline at end of file
......@@ -2,7 +2,7 @@
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<shape>
<gradient android:startColor="#1B76D6" android:endColor="#3028A1"/>
<gradient android:startColor="#1B76D6" android:endColor="#3028A1" android:angle="90"/>
</shape>
</item>
</selector>
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:id="@+id/totalText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Total"
android:textSize="30dp"
android:textFontWeight="600"
android:layout_alignParentStart="true" />
<TextView
android:id="@+id/totalHarga"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Rp. 600.000"
android:textSize="30dp"
android:textFontWeight="600"
android:layout_alignParentEnd="true" />
<TextView
android:id="@+id/label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Bayar"
android:textFontWeight="600"
android:layout_below="@id/totalHarga" />
<EditText
android:id="@+id/etBayar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/label"
android:hint="Rp."
android:inputType="number"
android:imeOptions="actionDone"/>
<TextView
android:id="@+id/textChange"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Change"
android:layout_below="@id/etBayar"
android:layout_alignParentEnd="true" />
<TextView
android:id="@+id/hargaChange"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Rp.20.000"
android:layout_below="@id/textChange"
android:layout_alignParentEnd="true"/>
<Button
android:id="@+id/btnCash"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/hint_pay"
android:hint="Insert Money"
android:layout_below="@id/hargaChange" />
</RelativeLayout>
......@@ -4,8 +4,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/ic_launcher_new_icon_background"
tools:context=".InvoiceActivity">
android:background="@color/ic_launcher_new_icon_background">
<com.google.android.material.textfield.TextInputLayout
android:id="@+id/tilInvoice"
......@@ -20,8 +19,9 @@
android:layout_height="wrap_content"
android:fontFamily="@font/roboto"
android:textSize="24sp"
app:layout_constraintStart_toStartOf="parent"
android:nestedScrollingEnabled="false"
android:text="Invoice"
app:layout_constraintStart_toStartOf="parent"
android:textColor="@color/colorWhite"
app:layout_constraintTop_toTopOf="parent" />
......@@ -32,6 +32,7 @@
android:layout_height="wrap_content"
android:padding="12sp"
app:cardCornerRadius="20dp"
android:nestedScrollingEnabled="false"
app:layout_constraintTop_toBottomOf="@+id/tilInvoice"
tools:ignore="MissingConstraints">
......
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".QRCode">
<ImageView
android:id="@+id/qr_image"
android:layout_width="200dp"
android:layout_height="200dp"
android:backgroundTint="#333"
android:src="@mipmap/ic_launcher"
android:layout_centerInParent="true"
/>
<com.google.android.material.textview.MaterialTextView
android:id="@+id/etVA"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Va_Text"
android:layout_below="@id/qr_image"
android:layout_centerInParent="true"
/>
</RelativeLayout>
\ 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