Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
Y
Your Cashier
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Ahmad Abi Mulya
Your Cashier
Commits
4f07bdd7
Commit
4f07bdd7
authored
Aug 27, 2020
by
Wahyu Wibowo
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add fitur payment
parent
7490e8df
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
361 additions
and
282 deletions
+361
-282
CartActivity.java
.../com/example/yourcashiertest/activities/CartActivity.java
+18
-32
MainActivity.java
.../com/example/yourcashiertest/activities/MainActivity.java
+5
-8
PaymentActivity.java
...m/example/yourcashiertest/activities/PaymentActivity.java
+32
-2
StatusPayment.java
...com/example/yourcashiertest/activities/StatusPayment.java
+17
-1
CartDao.java
...c/main/java/com/example/yourcashiertest/daos/CartDao.java
+3
-0
CartRepository.java
.../example/yourcashiertest/repositories/CartRepository.java
+4
-0
Convert.java
.../main/java/com/example/yourcashiertest/utils/Convert.java
+19
-0
CartViewModel.java
...com/example/yourcashiertest/viewmodels/CartViewModel.java
+4
-0
activity_cart.xml
app/src/main/res/layout/activity_cart.xml
+0
-1
activity_payment.xml
app/src/main/res/layout/activity_payment.xml
+171
-159
activity_status_payment.xml
app/src/main/res/layout/activity_status_payment.xml
+88
-79
No files found.
app/src/main/java/com/example/yourcashiertest/activities/CartActivity.java
View file @
4f07bdd7
package
com
.
example
.
yourcashiertest
.
activities
;
package
com
.
example
.
yourcashiertest
.
activities
;
import
androidx.annotation.RequiresApi
;
import
androidx.appcompat.app.AppCompatActivity
;
import
androidx.appcompat.app.AppCompatActivity
;
import
androidx.databinding.DataBindingUtil
;
import
androidx.databinding.DataBindingUtil
;
import
androidx.lifecycle.Observer
;
import
androidx.lifecycle.ViewModelProvider
;
import
androidx.lifecycle.ViewModelProvider
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
android.content.Intent
;
import
android.content.Intent
;
import
android.os.Build
;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
com.example.yourcashiertest.R
;
import
com.example.yourcashiertest.R
;
import
com.example.yourcashiertest.adapters.CartAdapter
;
import
com.example.yourcashiertest.adapters.CartAdapter
;
import
com.example.yourcashiertest.databinding.ActivityCartBinding
;
import
com.example.yourcashiertest.databinding.ActivityCartBinding
;
import
com.example.yourcashiertest.entities.Cart
;
import
com.example.yourcashiertest.entities.Cart
;
import
com.example.yourcashiertest.utils.Convert
;
import
com.example.yourcashiertest.viewmodels.CartViewModel
;
import
com.example.yourcashiertest.viewmodels.CartViewModel
;
import
java.text.DecimalFormat
;
import
java.text.DecimalFormatSymbols
;
import
java.util.List
;
public
class
CartActivity
extends
AppCompatActivity
{
public
class
CartActivity
extends
AppCompatActivity
{
ActivityCartBinding
binding
;
ActivityCartBinding
binding
;
CartAdapter
adapter
;
CartAdapter
adapter
;
private
static
int
SUM
=
0
;
public
static
String
PRICE
=
"price"
;
@Override
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
...
@@ -37,35 +34,32 @@ public class CartActivity extends AppCompatActivity {
...
@@ -37,35 +34,32 @@ public class CartActivity extends AppCompatActivity {
CartViewModel
cartViewModel
=
new
ViewModelProvider
(
this
).
get
(
CartViewModel
.
class
);
CartViewModel
cartViewModel
=
new
ViewModelProvider
(
this
).
get
(
CartViewModel
.
class
);
cartViewModel
.
getCarts
().
observe
(
this
,
carts
->
adapter
.
setCartList
(
carts
));
cartViewModel
.
getCarts
().
observe
(
this
,
carts
->
adapter
.
setCartList
(
carts
));
cartViewModel
.
getCarts
().
observe
(
this
,
new
Observer
<
List
<
Cart
>>()
{
cartViewModel
.
getCarts
().
observe
(
this
,
carts
->
{
@Override
int
count
=
0
;
public
void
onChanged
(
List
<
Cart
>
carts
)
{
if
(
carts
.
size
()
!=
0
){
int
sum
=
0
;
for
(
int
i
=
0
;
i
<
carts
.
size
();
i
++){
for
(
int
i
=
0
;
i
<
carts
.
size
();
i
++){
sum
+=
carts
.
get
(
i
).
getPrice
();
count
+=
carts
.
get
(
i
).
getPrice
();
}
}
binding
.
tvTotalPrice
.
setText
(
String
.
valueOf
(
sum
));
}
}
SUM
=
count
;
binding
.
tvTotalPrice
.
setText
(
Convert
.
changeToCurrency
(
SUM
));
});
});
adapter
.
setCartListener
(
new
CartAdapter
.
CartListener
()
{
adapter
.
setCartListener
(
new
CartAdapter
.
CartListener
()
{
@RequiresApi
(
api
=
Build
.
VERSION_CODES
.
N
)
@Override
@Override
public
void
onIncrease
(
Cart
cart
)
{
public
void
onIncrease
(
Cart
cart
)
{
cart
.
setQty
(
cart
.
getQty
()
+
1
);
cart
.
setQty
(
cart
.
getQty
()
+
1
);
cart
.
setPrice
(
Math
.
multiplyExact
(
cart
.
getRealPrice
(),
cart
.
getQty
()
));
cart
.
setPrice
(
cart
.
getRealPrice
()
*
cart
.
getQty
(
));
cartViewModel
.
updateCart
(
cart
);
cartViewModel
.
updateCart
(
cart
);
}
}
@RequiresApi
(
api
=
Build
.
VERSION_CODES
.
N
)
@Override
@Override
public
void
onDecrease
(
Cart
cart
)
{
public
void
onDecrease
(
Cart
cart
)
{
cart
.
setQty
(
cart
.
getQty
()
-
1
);
cart
.
setQty
(
cart
.
getQty
()
-
1
);
if
(
cart
.
getQty
()
==
0
){
cart
.
setPrice
(
cart
.
getRealPrice
()
*
cart
.
getQty
());
cartViewModel
.
updateCart
(
cart
);
if
(
cart
.
getQty
()
<=
0
){
cartViewModel
.
deleteCart
(
cart
);
cartViewModel
.
deleteCart
(
cart
);
}
else
{
cart
.
setPrice
(
Math
.
multiplyExact
(
cart
.
getRealPrice
(),
cart
.
getQty
()));
cartViewModel
.
updateCart
(
cart
);
}
}
}
}
});
});
...
@@ -74,23 +68,15 @@ public class CartActivity extends AppCompatActivity {
...
@@ -74,23 +68,15 @@ public class CartActivity extends AppCompatActivity {
binding
.
ivBtnBack
.
setOnClickListener
(
view
->
startActivity
(
new
Intent
(
CartActivity
.
this
,
MainActivity
.
class
)));
binding
.
ivBtnBack
.
setOnClickListener
(
view
->
startActivity
(
new
Intent
(
CartActivity
.
this
,
MainActivity
.
class
)));
binding
.
btnCheckout
.
setOnClickListener
(
view
->
{
binding
.
btnCheckout
.
setOnClickListener
(
view
->
{
startActivity
(
new
Intent
(
CartActivity
.
this
,
PaymentActivity
.
class
));
startActivity
(
new
Intent
(
CartActivity
.
this
,
PaymentActivity
.
class
)
.
putExtra
(
PRICE
,
SUM
)
);
finish
();
finish
();
});
});
}
}
@Override
private
String
changeToCurrency
(
int
totalPrice
){
protected
void
onDestroy
()
{
DecimalFormat
decimalFormat
=
(
DecimalFormat
)
DecimalFormat
.
getCurrencyInstance
();
super
.
onDestroy
();
binding
=
null
;
DecimalFormatSymbols
formatSymbols
=
new
DecimalFormatSymbols
();
formatSymbols
.
setCurrencySymbol
(
"Rp. "
);
formatSymbols
.
setMonetaryDecimalSeparator
(
','
);
formatSymbols
.
setGroupingSeparator
(
'.'
);
String
priceRupiah
=
decimalFormat
.
format
(
totalPrice
);
return
priceRupiah
;
}
}
}
}
\ No newline at end of file
app/src/main/java/com/example/yourcashiertest/activities/MainActivity.java
View file @
4f07bdd7
...
@@ -3,7 +3,6 @@ package com.example.yourcashiertest.activities;
...
@@ -3,7 +3,6 @@ package com.example.yourcashiertest.activities;
import
androidx.annotation.NonNull
;
import
androidx.annotation.NonNull
;
import
androidx.appcompat.app.AppCompatActivity
;
import
androidx.appcompat.app.AppCompatActivity
;
import
androidx.databinding.DataBindingUtil
;
import
androidx.databinding.DataBindingUtil
;
import
androidx.lifecycle.Observer
;
import
androidx.lifecycle.ViewModelProvider
;
import
androidx.lifecycle.ViewModelProvider
;
import
android.Manifest
;
import
android.Manifest
;
...
@@ -12,8 +11,6 @@ import android.content.Intent;
...
@@ -12,8 +11,6 @@ import android.content.Intent;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.text.Editable
;
import
android.text.Editable
;
import
android.text.TextWatcher
;
import
android.text.TextWatcher
;
import
android.view.Menu
;
import
android.view.View
;
import
android.widget.PopupMenu
;
import
android.widget.PopupMenu
;
import
android.widget.Toast
;
import
android.widget.Toast
;
...
@@ -22,12 +19,9 @@ import com.example.yourcashiertest.adapters.ProductAdapter;
...
@@ -22,12 +19,9 @@ import com.example.yourcashiertest.adapters.ProductAdapter;
import
com.example.yourcashiertest.databinding.ActivityMainBinding
;
import
com.example.yourcashiertest.databinding.ActivityMainBinding
;
import
com.example.yourcashiertest.entities.Cart
;
import
com.example.yourcashiertest.entities.Cart
;
import
com.example.yourcashiertest.entities.Product
;
import
com.example.yourcashiertest.entities.Product
;
import
com.example.yourcashiertest.models.CartModel
;
import
com.example.yourcashiertest.viewmodels.CartViewModel
;
import
com.example.yourcashiertest.viewmodels.CartViewModel
;
import
com.example.yourcashiertest.viewmodels.ProductViewModel
;
import
com.example.yourcashiertest.viewmodels.ProductViewModel
;
import
java.util.ArrayList
;
import
java.util.List
;
public
class
MainActivity
extends
AppCompatActivity
{
public
class
MainActivity
extends
AppCompatActivity
{
...
@@ -41,6 +35,7 @@ public class MainActivity extends AppCompatActivity {
...
@@ -41,6 +35,7 @@ public class MainActivity extends AppCompatActivity {
Manifest
.
permission
.
WRITE_EXTERNAL_STORAGE
};
Manifest
.
permission
.
WRITE_EXTERNAL_STORAGE
};
public
static
boolean
visibility
=
false
;
public
static
boolean
visibility
=
false
;
ProductViewModel
viewModel
;
CartViewModel
cartViewModel
;
CartViewModel
cartViewModel
;
@Override
@Override
...
@@ -92,7 +87,7 @@ public class MainActivity extends AppCompatActivity {
...
@@ -92,7 +87,7 @@ public class MainActivity extends AppCompatActivity {
});
});
binding
.
rvProducts
.
setAdapter
(
adapter
);
binding
.
rvProducts
.
setAdapter
(
adapter
);
ProductViewModel
viewModel
=
new
ViewModelProvider
(
this
).
get
(
ProductViewModel
.
class
);
viewModel
=
new
ViewModelProvider
(
this
).
get
(
ProductViewModel
.
class
);
viewModel
.
getProducts
().
observe
(
this
,
adapter:
:
setProducts
);
viewModel
.
getProducts
().
observe
(
this
,
adapter:
:
setProducts
);
adapter
.
setListener
(
new
ProductAdapter
.
ProductListener
()
{
adapter
.
setListener
(
new
ProductAdapter
.
ProductListener
()
{
...
@@ -134,6 +129,8 @@ public class MainActivity extends AppCompatActivity {
...
@@ -134,6 +129,8 @@ public class MainActivity extends AppCompatActivity {
public
void
addToCart
(
Product
product
){
public
void
addToCart
(
Product
product
){
product
.
setQuantity
(
product
.
getQuantity
()
-
1
);
viewModel
.
updateProduct
(
product
);
Cart
cart
=
new
Cart
(
0
,
""
,
""
,
0
,
0
,
0
);
Cart
cart
=
new
Cart
(
0
,
""
,
""
,
0
,
0
,
0
);
cart
.
setIdProduct
(
product
.
getId
());
cart
.
setIdProduct
(
product
.
getId
());
cart
.
setImage
(
product
.
getPhoto
());
cart
.
setImage
(
product
.
getPhoto
());
...
@@ -142,7 +139,7 @@ public class MainActivity extends AppCompatActivity {
...
@@ -142,7 +139,7 @@ public class MainActivity extends AppCompatActivity {
cart
.
setQty
(
1
);
cart
.
setQty
(
1
);
cart
.
setRealPrice
(
product
.
getPrice
());
cart
.
setRealPrice
(
product
.
getPrice
());
cartViewModel
.
insertCart
(
cart
);
cartViewModel
.
insertCart
(
cart
);
Toast
.
makeText
(
MainActivity
.
this
,
"
Data
berhasil ditambahkan ke keranjang"
,
Toast
.
LENGTH_LONG
).
show
();
Toast
.
makeText
(
MainActivity
.
this
,
"
Produk
berhasil ditambahkan ke keranjang"
,
Toast
.
LENGTH_LONG
).
show
();
}
}
...
...
app/src/main/java/com/example/yourcashiertest/activities/PaymentActivity.java
View file @
4f07bdd7
package
com
.
example
.
yourcashiertest
.
activities
;
package
com
.
example
.
yourcashiertest
.
activities
;
import
androidx.annotation.RequiresApi
;
import
androidx.appcompat.app.AppCompatActivity
;
import
androidx.appcompat.app.AppCompatActivity
;
import
androidx.cardview.widget.CardView
;
import
androidx.cardview.widget.CardView
;
import
androidx.databinding.DataBindingUtil
;
import
androidx.lifecycle.ViewModelProvider
;
import
android.content.Intent
;
import
android.content.Intent
;
import
android.os.Build
;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.util.Log
;
import
android.view.View
;
import
android.view.View
;
import
com.example.yourcashiertest.R
;
import
com.example.yourcashiertest.R
;
import
com.example.yourcashiertest.databinding.ActivityPaymentBinding
;
import
com.example.yourcashiertest.utils.Convert
;
import
com.example.yourcashiertest.viewmodels.CartViewModel
;
public
class
PaymentActivity
extends
AppCompatActivity
{
public
class
PaymentActivity
extends
AppCompatActivity
{
ActivityPaymentBinding
binding
;
public
static
String
REFUND
=
"refund"
;
public
int
refund
;
public
int
amount
;
CartViewModel
cartViewModel
;
@RequiresApi
(
api
=
Build
.
VERSION_CODES
.
N
)
@Override
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
super
.
onCreate
(
savedInstanceState
);
setContentView
(
R
.
layout
.
activity_payment
);
binding
=
DataBindingUtil
.
setContentView
(
this
,
R
.
layout
.
activity_payment
);
cartViewModel
=
new
ViewModelProvider
(
this
).
get
(
CartViewModel
.
class
);
amount
=
getIntent
().
getIntExtra
(
CartActivity
.
PRICE
,
0
);
binding
.
setAmount
(
Convert
.
changeToCurrency
(
amount
));
}
}
public
void
btnPay
(
View
view
)
{
public
void
btnPay
(
View
view
)
{
startActivity
(
new
Intent
(
PaymentActivity
.
this
,
StatusPayment
.
class
));
int
amountPaid
=
Integer
.
parseInt
(
binding
.
etAmountPaid
.
getText
().
toString
());
refund
=
amountPaid
-
amount
;
startActivity
(
new
Intent
(
PaymentActivity
.
this
,
StatusPayment
.
class
).
putExtra
(
REFUND
,
refund
));
cartViewModel
.
clear
();
finish
();
finish
();
}
}
@Override
protected
void
onDestroy
()
{
super
.
onDestroy
();
binding
=
null
;
}
}
}
\ No newline at end of file
app/src/main/java/com/example/yourcashiertest/activities/StatusPayment.java
View file @
4f07bdd7
package
com
.
example
.
yourcashiertest
.
activities
;
package
com
.
example
.
yourcashiertest
.
activities
;
import
androidx.appcompat.app.AppCompatActivity
;
import
androidx.appcompat.app.AppCompatActivity
;
import
androidx.databinding.DataBindingUtil
;
import
android.content.Intent
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.util.Log
;
import
android.view.View
;
import
android.view.View
;
import
com.example.yourcashiertest.R
;
import
com.example.yourcashiertest.R
;
import
com.example.yourcashiertest.databinding.ActivityStatusPaymentBinding
;
import
com.example.yourcashiertest.utils.Convert
;
public
class
StatusPayment
extends
AppCompatActivity
{
public
class
StatusPayment
extends
AppCompatActivity
{
ActivityStatusPaymentBinding
binding
;
@Override
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
super
.
onCreate
(
savedInstanceState
);
setContentView
(
R
.
layout
.
activity_status_payment
);
binding
=
DataBindingUtil
.
setContentView
(
this
,
R
.
layout
.
activity_status_payment
);
int
refund
=
getIntent
().
getIntExtra
(
PaymentActivity
.
REFUND
,
0
);
Log
.
d
(
"Tag"
,
String
.
valueOf
(
refund
));
binding
.
setRefund
(
Convert
.
changeToCurrency
(
refund
));
}
}
public
void
btnFinish
(
View
view
)
{
public
void
btnFinish
(
View
view
)
{
startActivity
(
new
Intent
(
StatusPayment
.
this
,
MainActivity
.
class
));
startActivity
(
new
Intent
(
StatusPayment
.
this
,
MainActivity
.
class
));
finish
();
finish
();
}
}
@Override
protected
void
onDestroy
()
{
super
.
onDestroy
();
binding
=
null
;
}
}
}
\ No newline at end of file
app/src/main/java/com/example/yourcashiertest/daos/CartDao.java
View file @
4f07bdd7
...
@@ -25,4 +25,7 @@ public interface CartDao {
...
@@ -25,4 +25,7 @@ public interface CartDao {
@Delete
@Delete
public
void
deleteCart
(
Cart
cart
);
public
void
deleteCart
(
Cart
cart
);
@Query
(
"DELETE FROM Cart"
)
public
void
deletAll
();
}
}
app/src/main/java/com/example/yourcashiertest/repositories/CartRepository.java
View file @
4f07bdd7
...
@@ -32,6 +32,10 @@ public class CartRepository {
...
@@ -32,6 +32,10 @@ public class CartRepository {
LocalDatabase
.
databaseWriteExecutor
.
execute
(()
->
cartDao
.
deleteCart
(
cart
));
LocalDatabase
.
databaseWriteExecutor
.
execute
(()
->
cartDao
.
deleteCart
(
cart
));
}
}
public
void
clear
(){
LocalDatabase
.
databaseWriteExecutor
.
execute
(()
->
cartDao
.
deletAll
());
}
public
LiveData
<
List
<
Cart
>>
getAllCart
(){
public
LiveData
<
List
<
Cart
>>
getAllCart
(){
return
this
.
carts
;
return
this
.
carts
;
}
}
...
...
app/src/main/java/com/example/yourcashiertest/utils/Convert.java
0 → 100644
View file @
4f07bdd7
package
com
.
example
.
yourcashiertest
.
utils
;
import
java.text.DecimalFormat
;
import
java.text.DecimalFormatSymbols
;
public
class
Convert
{
public
static
String
changeToCurrency
(
long
totalPrice
){
DecimalFormat
decimalFormat
=
(
DecimalFormat
)
DecimalFormat
.
getCurrencyInstance
();
DecimalFormatSymbols
formatSymbols
=
new
DecimalFormatSymbols
();
formatSymbols
.
setCurrencySymbol
(
"Rp. "
);
formatSymbols
.
setMonetaryDecimalSeparator
(
','
);
formatSymbols
.
setGroupingSeparator
(
'.'
);
String
priceRupiah
=
decimalFormat
.
format
(
totalPrice
);
return
priceRupiah
;
}
}
app/src/main/java/com/example/yourcashiertest/viewmodels/CartViewModel.java
View file @
4f07bdd7
...
@@ -40,6 +40,10 @@ public class CartViewModel extends AndroidViewModel {
...
@@ -40,6 +40,10 @@ public class CartViewModel extends AndroidViewModel {
repository
.
delete
(
cart
);
repository
.
delete
(
cart
);
}
}
public
void
clear
(){
repository
.
clear
();
}
public
MutableLiveData
<
Cart
>
getCart
(){
public
MutableLiveData
<
Cart
>
getCart
(){
return
this
.
cart
;
return
this
.
cart
;
}
}
...
...
app/src/main/res/layout/activity_cart.xml
View file @
4f07bdd7
...
@@ -79,7 +79,6 @@
...
@@ -79,7 +79,6 @@
android:layout_height=
"20dp"
android:layout_height=
"20dp"
android:gravity=
"top"
android:gravity=
"top"
android:textColor=
"#fff"
android:textColor=
"#fff"
android:text=
""
android:textAppearance=
"@style/some_id"
android:textAppearance=
"@style/some_id"
app:layout_constraintBottom_toBottomOf=
"@+id/amount"
app:layout_constraintBottom_toBottomOf=
"@+id/amount"
app:layout_constraintEnd_toEndOf=
"@+id/amount"
app:layout_constraintEnd_toEndOf=
"@+id/amount"
...
...
app/src/main/res/layout/activity_payment.xml
View file @
4f07bdd7
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<
androidx.constraintlayout.widget.ConstraintL
ayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
<
l
ayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
xmlns:tools=
"http://schemas.android.com/tools"
>
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
<data>
android:padding=
"12dp"
<variable
tools:context=
".activities.PaymentActivity"
>
name=
"amount"
type=
"String"
/>
<!-- Payment -->
<TextView
</data>
android:id=
"@+id/tvPayment"
android:layout_width=
"108dp"
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_height=
"wrap_content"
android:gravity=
"top"
android:text=
"@string/payment"
android:textAppearance=
"@style/payment"
app:layout_constraintBottom_toTopOf=
"@id/cvCash"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintHorizontal_bias=
"0.0"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintVertical_bias=
"0.105"
/>
<TextView
android:id=
"@+id/tvTotal"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:elegantTextHeight=
"true"
android:gravity=
"center"
android:text=
"Rp. 500.000"
android:textSize=
"24dp"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintHorizontal_bias=
"0.902"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/tvPayment"
app:layout_constraintVertical_bias=
"0.0"
/>
<com.google.android.material.card.MaterialCardView
android:id=
"@+id/cvCash"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"100dp"
android:layout_height=
"match_parent"
android:layout_marginTop=
"20dp"
android:padding=
"12dp"
android:clickable=
"true"
tools:context=
".activities.PaymentActivity"
>
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
<!-- Payment -->
app:layout_constraintTop_toBottomOf=
"@+id/tvTotal"
>
<TextView
android:id=
"@+id/tvPayment"
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width=
"108dp"
android:layout_height=
"wrap_content"
android:gravity=
"top"
android:text=
"@string/payment"
android:textAppearance=
"@style/payment"
app:layout_constraintBottom_toTopOf=
"@id/cvCash"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintHorizontal_bias=
"0.0"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintVertical_bias=
"0.105"
/>
<TextView
android:id=
"@+id/tvTotal"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:elegantTextHeight=
"true"
android:gravity=
"center"
android:text=
"@{amount}"
android:textSize=
"24dp"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintHorizontal_bias=
"0.902"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/tvPayment"
app:layout_constraintVertical_bias=
"0.0"
/>
<com.google.android.material.card.MaterialCardView
android:id=
"@+id/cvCash"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"
match_parent"
>
android:layout_height=
"
100dp"
android:layout_marginTop=
"20dp"
<ImageView
android:clickable=
"true"
android:id=
"@+id/iv_cash
"
app:layout_constraintEnd_toEndOf=
"parent
"
android:layout_width=
"200dp
"
app:layout_constraintStart_toStartOf=
"parent
"
android:layout_height=
"wrap_content"
app:layout_constraintTop_toBottomOf=
"@+id/tvTotal"
>
android:src=
"@drawable/wallet"
app:layout_constraintBottom_toBottomOf=
"parent"
<androidx.constraintlayout.widget.ConstraintLayout
a
pp:layout_constraintEnd_toEndOf=
"
parent"
a
ndroid:layout_width=
"match_
parent"
a
pp:layout_constraintHorizontal_bias=
"0.0"
a
ndroid:layout_height=
"match_parent"
>
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
<ImageView
app:layout_constraintVertical_bias=
"0.8"
/>
android:id=
"@+id/iv_cash"
android:layout_width=
"200dp"
<TextView
android:layout_height=
"wrap_content"
android:id=
"@+id/cash
"
android:src=
"@drawable/wallet
"
android:layout_width=
"138dp
"
app:layout_constraintBottom_toBottomOf=
"parent
"
android:layout_height=
"33dp
"
app:layout_constraintEnd_toEndOf=
"parent
"
android:gravity=
"center
"
app:layout_constraintHorizontal_bias=
"0.0
"
android:text=
"@string/cash
"
app:layout_constraintStart_toStartOf=
"parent
"
android:textAppearance=
"@style/cash
"
app:layout_constraintTop_toTopOf=
"parent
"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintVertical_bias=
"0.8"
/>
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintHorizontal_bias=
"0.324"
<TextView
app:layout_constraintStart_toEndOf=
"@+id/iv_
cash"
android:id=
"@+id/
cash"
app:layout_constraintTop_toTopOf=
"parent
"
android:layout_width=
"138dp
"
app:layout_constraintVertical_bias=
"0.507"
/>
android:layout_height=
"33dp"
android:gravity=
"center"
android:text=
"@string/cash"
</androidx.constraintlayout.widget.ConstraintLayout>
android:textAppearance=
"@style/cash"
app:layout_constraintBottom_toBottomOf=
"parent"
</com.google.android.material.card.MaterialCardView>
app:layout_constraintEnd_toEndOf=
"parent"
<com.google.android.material.card.MaterialCardView
app:layout_constraintHorizontal_bias=
"0.324"
android:id=
"@+id/cvCard
"
app:layout_constraintStart_toEndOf=
"@+id/iv_cash
"
android:layout_width=
"match_
parent"
app:layout_constraintTop_toTopOf=
"
parent"
android:layout_height=
"100dp"
app:layout_constraintVertical_bias=
"0.507"
/>
android:clickable=
"true"
android:layout_marginTop=
"20dp"
app:layout_constraintEnd_toEndOf=
"parent"
</androidx.constraintlayout.widget.ConstraintLayout>
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@+id/cvCash"
</com.google.android.material.card.MaterialCardView>
app:layout_constraintVertical_bias=
"0.04000002"
>
<com.google.android.material.card.MaterialCardView
<androidx.constraintlayout.widget.ConstraintLayout
android:id=
"@+id/cvCard"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
android:layout_height=
"100dp"
android:clickable=
"true"
<ImageView
android:layout_marginTop=
"20dp"
android:id=
"@+id/iv_card"
app:layout_constraintEnd_toEndOf=
"parent"
android:layout_width=
"200dp"
app:layout_constraintStart_toStartOf=
"parent"
android:layout_height=
"wrap_content"
app:layout_constraintTop_toBottomOf=
"@+id/cvCash"
android:src=
"@drawable/credit_card"
app:layout_constraintVertical_bias=
"0.04000002"
>
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
<androidx.constraintlayout.widget.ConstraintLayout
app:layout_constraintHorizontal_bias=
"0.0"
android:layout_width=
"match_parent"
app:layout_constraintStart_toStartOf=
"parent"
android:layout_height=
"match_parent"
>
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintVertical_bias=
"0.8"
/>
<ImageView
android:id=
"@+id/iv_card"
<TextView
android:layout_width=
"200dp"
android:id=
"@+id/card"
android:layout_height=
"wrap_content"
android:layout_width=
"138dp"
android:src=
"@drawable/credit_card"
android:layout_height=
"33dp"
app:layout_constraintBottom_toBottomOf=
"parent"
android:gravity=
"center"
app:layout_constraintEnd_toEndOf=
"parent"
android:text=
"@string/card"
app:layout_constraintHorizontal_bias=
"0.0"
android:textAppearance=
"@style/cash"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintVertical_bias=
"0.8"
/>
app:layout_constraintHorizontal_bias=
"0.324"
app:layout_constraintStart_toEndOf=
"@+id/iv_card"
<TextView
app:layout_constraintTop_toTopOf=
"parent"
android:id=
"@+id/card"
app:layout_constraintVertical_bias=
"0.507"
/>
android:layout_width=
"138dp"
android:layout_height=
"33dp"
android:gravity=
"center"
</androidx.constraintlayout.widget.ConstraintLayout>
android:text=
"@string/card"
</com.google.android.material.card.MaterialCardView>
android:textAppearance=
"@style/cash"
app:layout_constraintBottom_toBottomOf=
"parent"
<TextView
app:layout_constraintEnd_toEndOf=
"parent"
android:id=
"@+id/tvAmountPaid"
app:layout_constraintHorizontal_bias=
"0.324"
android:layout_width=
"100dp"
app:layout_constraintStart_toEndOf=
"@+id/iv_card"
android:layout_height=
"30dp"
app:layout_constraintTop_toTopOf=
"parent"
android:layout_marginTop=
"208dp"
app:layout_constraintVertical_bias=
"0.507"
/>
android:layout_marginBottom=
"90dp"
android:gravity=
"start"
android:text=
"Amount paid"
</androidx.constraintlayout.widget.ConstraintLayout>
app:layout_constraintBottom_toTopOf=
"@id/etAmountPaid"
</com.google.android.material.card.MaterialCardView>
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintHorizontal_bias=
"0.0"
<TextView
app:layout_constraintStart_toStartOf=
"parent"
android:id=
"@+id/tvAmountPaid"
app:layout_constraintTop_toBottomOf=
"@id/cvCard"
/>
android:layout_width=
"100dp"
android:layout_height=
"30dp"
<EditText
android:layout_marginTop=
"208dp"
android:id=
"@+id/etAmountPaid"
android:layout_marginBottom=
"90dp"
android:layout_width=
"match_parent"
android:gravity=
"start"
android:layout_height=
"wrap_content"
android:text=
"Amount paid"
android:layout_marginBottom=
"40dp"
app:layout_constraintBottom_toTopOf=
"@id/etAmountPaid"
android:gravity=
"center"
app:layout_constraintEnd_toEndOf=
"parent"
android:inputType=
"number"
app:layout_constraintHorizontal_bias=
"0.0"
app:layout_constraintBottom_toTopOf=
"@id/btnPay"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/cvCard"
/>
app:layout_constraintHorizontal_bias=
"0.333"
app:layout_constraintStart_toStartOf=
"parent"
/>
<EditText
android:id=
"@+id/etAmountPaid"
<com.google.android.material.button.MaterialButton
android:layout_width=
"match_parent"
android:id=
"@+id/btnPay"
android:layout_height=
"wrap_content"
android:onClick=
"btnPay"
android:layout_marginBottom=
"40dp"
android:layout_width=
"match_parent"
android:gravity=
"center"
android:layout_height=
"wrap_content"
android:inputType=
"number"
android:text=
"PAY"
app:layout_constraintBottom_toTopOf=
"@id/btnPay"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintHorizontal_bias=
"0.333"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
/>
tools:layout_editor_absoluteX=
"16dp"
tools:layout_editor_absoluteY=
"654dp"
/>
<com.google.android.material.button.MaterialButton
</androidx.constraintlayout.widget.ConstraintLayout>
android:id=
"@+id/btnPay"
\ No newline at end of file
android:onClick=
"btnPay"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:text=
"PAY"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintBottom_toBottomOf=
"parent"
tools:layout_editor_absoluteX=
"16dp"
tools:layout_editor_absoluteY=
"654dp"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
\ No newline at end of file
app/src/main/res/layout/activity_status_payment.xml
View file @
4f07bdd7
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<
androidx.constraintlayout.widget.ConstraintL
ayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
<
l
ayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
xmlns:tools=
"http://schemas.android.com/tools"
>
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:padding=
"10dp"
tools:context=
".activities.StatusPayment"
>
<TextView
<data>
android:id=
"@+id/tvPaymentStatus"
<variable
android:layout_width=
"wrap_content"
name=
"refund"
android:layout_height=
"wrap_content"
type=
"String"
/>
android:layout_marginTop=
"16dp"
</data>
android:gravity=
"top"
android:text=
"@string/payment_status"
android:textAppearance=
"@style/payment"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintHorizontal_bias=
"0.072"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
<ImageView
<androidx.constraintlayout.widget.ConstraintLayout
android:id=
"@+id/icConfirmed"
android:layout_width=
"150dp"
android:layout_height=
"130dp"
android:src=
"@drawable/confirmed"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/tvPaymentStatus"
android:layout_marginTop=
"40dp"
tools:layout_editor_absoluteX=
"140dp"
tools:layout_editor_absoluteY=
"29dp"
/>
<TextView
android:id=
"@+id/tvPaymentSuccess"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_height=
"match_parent"
android:layout_marginTop=
"20dp"
android:padding=
"10dp"
android:textSize=
"24dp"
tools:context=
".activities.StatusPayment"
>
android:gravity=
"center"
android:text=
"@string/payment_by_cash_was_successful"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintHorizontal_bias=
"0.0"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/icConfirmed"
/>
<TextView
<TextView
android:id=
"@+id/tvRefund
"
android:id=
"@+id/tvPaymentStatus
"
android:layout_width=
"match_par
ent"
android:layout_width=
"wrap_cont
ent"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"64
dp"
android:layout_marginTop=
"16
dp"
android:gravity=
"center
"
android:gravity=
"top
"
android:text=
"@string/refund
"
android:text=
"@string/payment_status
"
android:textSize=
"35dp
"
android:textAppearance=
"@style/payment
"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintHorizontal_bias=
"0.0
"
app:layout_constraintHorizontal_bias=
"0.072
"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/tvPaymentSuccess
"
/>
app:layout_constraintTop_toTopOf=
"parent
"
/>
<TextView
<ImageView
android:id=
"@+id/tvNominalRefund"
android:id=
"@+id/icConfirmed"
android:layout_width=
"match_parent"
android:layout_width=
"150dp"
android:layout_height=
"wrap_content"
android:layout_height=
"130dp"
android:layout_marginTop=
"28dp"
android:src=
"@drawable/confirmed"
android:gravity=
"center"
app:layout_constraintStart_toStartOf=
"parent"
android:text=
"Rp. 44000"
app:layout_constraintEnd_toEndOf=
"parent"
android:textSize=
"45dp"
app:layout_constraintTop_toBottomOf=
"@id/tvPaymentStatus"
app:layout_constraintEnd_toEndOf=
"parent"
android:layout_marginTop=
"40dp"
app:layout_constraintHorizontal_bias=
"0.0"
tools:layout_editor_absoluteX=
"140dp"
app:layout_constraintStart_toStartOf=
"parent"
tools:layout_editor_absoluteY=
"29dp"
/>
app:layout_constraintTop_toBottomOf=
"@id/tvRefund"
/>
<com.google.android.material.button.MaterialButton
<TextView
android:id=
"@+id/btnFinish"
android:id=
"@+id/tvPaymentSuccess"
android:onClick=
"btnFinish"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_height=
"60dp"
android:layout_marginTop=
"20dp"
android:text=
"FINISH"
android:textSize=
"24dp"
android:textSize=
"20dp"
android:gravity=
"center"
app:layout_constraintBottom_toBottomOf=
"parent"
android:text=
"@string/payment_by_cash_was_successful"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintHorizontal_bias=
"0.0"
app:layout_constraintHorizontal_bias=
"0.0"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@+id/tvNominalRefund"
app:layout_constraintTop_toBottomOf=
"@id/icConfirmed"
/>
app:layout_constraintVertical_bias=
"1.0"
/>
<TextView
android:id=
"@+id/tvRefund"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"64dp"
android:gravity=
"center"
android:text=
"@string/refund"
android:textSize=
"35dp"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintHorizontal_bias=
"0.0"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/tvPaymentSuccess"
/>
<TextView
android:id=
"@+id/tvNominalRefund"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"28dp"
android:gravity=
"center"
android:text=
"@{refund}"
android:textSize=
"45dp"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintHorizontal_bias=
"0.0"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/tvRefund"
/>
<com.google.android.material.button.MaterialButton
android:id=
"@+id/btnFinish"
android:onClick=
"btnFinish"
android:layout_width=
"match_parent"
android:layout_height=
"60dp"
android:text=
"FINISH"
android:textSize=
"20dp"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintHorizontal_bias=
"0.0"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@+id/tvNominalRefund"
app:layout_constraintVertical_bias=
"1.0"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
</layout>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment