Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
M
meser
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
Muhammad Suryono
meser
Commits
d49e1a6d
Commit
d49e1a6d
authored
Aug 30, 2020
by
Alfansyah Fadlian
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'new_dev' of
https://git.mdd.co.id:44195/muhammadsuryono/meser
into dashboard
parents
9b91b4f2
2bdd3c75
Show whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
434 additions
and
238 deletions
+434
-238
build.gradle
app/build.gradle
+2
-0
AndroidManifest.xml
app/src/main/AndroidManifest.xml
+4
-1
BottomSheets.java
app/src/main/java/com/yono/messeripos/BottomSheets.java
+35
-1
FormCategory.java
app/src/main/java/com/yono/messeripos/FormCategory.java
+26
-0
FormProductActivity.java
...rc/main/java/com/yono/messeripos/FormProductActivity.java
+8
-5
MainActivity.java
app/src/main/java/com/yono/messeripos/MainActivity.java
+17
-2
PaymentActivity.java
app/src/main/java/com/yono/messeripos/PaymentActivity.java
+74
-37
QRCode.java
app/src/main/java/com/yono/messeripos/QRCode.java
+4
-2
CategoryAdapter.java
...ain/java/com/yono/messeripos/adapter/CategoryAdapter.java
+2
-0
ProductAdapter.java
...main/java/com/yono/messeripos/adapter/ProductAdapter.java
+2
-0
bg_grid_item.xml
app/src/main/res/drawable/bg_grid_item.xml
+10
-0
round_corner_sheet.xml
app/src/main/res/drawable/round_corner_sheet.xml
+9
-0
activity_bottom_sheets.xml
app/src/main/res/layout/activity_bottom_sheets.xml
+11
-0
activity_invoice.xml
app/src/main/res/layout/activity_invoice.xml
+58
-46
activity_payment.xml
app/src/main/res/layout/activity_payment.xml
+72
-127
activity_q_r_code.xml
app/src/main/res/layout/activity_q_r_code.xml
+8
-2
form_category.xml
app/src/main/res/layout/form_category.xml
+39
-0
form_product.xml
app/src/main/res/layout/form_product.xml
+1
-1
item_checkout.xml
app/src/main/res/layout/item_checkout.xml
+1
-1
item_list.xml
app/src/main/res/layout/item_list.xml
+16
-13
skeleton_category.xml
app/src/main/res/layout/skeleton_category.xml
+29
-0
colors.xml
app/src/main/res/values/colors.xml
+2
-0
strings.xml
app/src/main/res/values/strings.xml
+1
-0
styles.xml
app/src/main/res/values/styles.xml
+3
-0
No files found.
app/build.gradle
View file @
d49e1a6d
...
@@ -46,6 +46,8 @@ dependencies {
...
@@ -46,6 +46,8 @@ dependencies {
implementation
'androidx.lifecycle:lifecycle-extensions:2.2.0'
implementation
'androidx.lifecycle:lifecycle-extensions:2.2.0'
implementation
'com.github.bumptech.glide:glide:4.3.1'
implementation
'com.github.bumptech.glide:glide:4.3.1'
implementation
'com.squareup.okhttp3:logging-interceptor:4.2.1'
implementation
'com.squareup.okhttp3:logging-interceptor:4.2.1'
implementation
'com.ethanhua:skeleton:1.1.2'
implementation
'io.supercharge:shimmerlayout:2.1.0'
implementation
project
(
':library'
)
implementation
project
(
':library'
)
def
room_version
=
"2.2.5"
def
room_version
=
"2.2.5"
...
...
app/src/main/AndroidManifest.xml
View file @
d49e1a6d
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android=
"http://schemas.android.com/apk/res/android"
<manifest
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
package=
"com.yono.messeripos"
>
package=
"com.yono.messeripos"
>
<uses-permission
android:name=
"android.permission.INTERNET"
/>
<uses-permission
android:name=
"android.permission.INTERNET"
/>
...
@@ -17,7 +18,9 @@
...
@@ -17,7 +18,9 @@
android:roundIcon=
"@mipmap/ic_launcher_new_icon"
android:roundIcon=
"@mipmap/ic_launcher_new_icon"
android:supportsRtl=
"true"
android:supportsRtl=
"true"
android:theme=
"@style/AppTheme.appbar"
>
android:theme=
"@style/AppTheme.appbar"
>
<activity
android:name=
".BottomSheets"
></activity>
<activity
android:name=
".BottomSheets"
tools:ignore=
"Instantiatable"
/>
<activity
android:name=
".QRCode"
/>
<activity
android:name=
".QRCode"
/>
<activity
<activity
android:name=
".HistoryActivity"
android:name=
".HistoryActivity"
...
...
app/src/main/java/com/yono/messeripos/BottomSheets.java
View file @
d49e1a6d
...
@@ -13,11 +13,14 @@ import android.view.View;
...
@@ -13,11 +13,14 @@ import android.view.View;
import
android.view.ViewGroup
;
import
android.view.ViewGroup
;
import
android.widget.Button
;
import
android.widget.Button
;
import
android.widget.EditText
;
import
android.widget.EditText
;
import
android.widget.RelativeLayout
;
import
android.widget.TextView
;
import
android.widget.TextView
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.annotation.Nullable
;
import
androidx.lifecycle.ViewModelProvider
;
import
androidx.lifecycle.ViewModelProvider
;
import
com.google.android.material.bottomsheet.BottomSheetBehavior
;
import
com.google.android.material.bottomsheet.BottomSheetDialogFragment
;
import
com.google.android.material.bottomsheet.BottomSheetDialogFragment
;
import
com.yono.messeripos.adapter.ProductAdapter
;
import
com.yono.messeripos.adapter.ProductAdapter
;
import
com.yono.messeripos.api.client.Client
;
import
com.yono.messeripos.api.client.Client
;
...
@@ -45,6 +48,8 @@ public class BottomSheets extends BottomSheetDialogFragment {
...
@@ -45,6 +48,8 @@ public class BottomSheets extends BottomSheetDialogFragment {
Client
client
=
new
Client
();
Client
client
=
new
Client
();
public
static
long
grossAmount
;
public
static
long
grossAmount
;
SharedPreferences
sharedPreferences
;
SharedPreferences
sharedPreferences
;
BottomSheetBehavior
bottomSheetBehavior
;
RelativeLayout
layoutFormCash
;
PaymentsModels
paymentsModels
;
PaymentsModels
paymentsModels
;
public
BottomSheets
(
PaymentsModels
paymentsModels
)
{
public
BottomSheets
(
PaymentsModels
paymentsModels
)
{
...
@@ -68,19 +73,48 @@ public class BottomSheets extends BottomSheetDialogFragment {
...
@@ -68,19 +73,48 @@ public class BottomSheets extends BottomSheetDialogFragment {
View
v
=
inflater
.
inflate
(
R
.
layout
.
activity_bottom_sheets
,
View
v
=
inflater
.
inflate
(
R
.
layout
.
activity_bottom_sheets
,
container
,
false
);
container
,
false
);
layoutFormCash
=
v
.
findViewById
(
R
.
id
.
form_cash
);
inputAmount
=
v
.
findViewById
(
R
.
id
.
etBayar
);
inputAmount
=
v
.
findViewById
(
R
.
id
.
etBayar
);
hargaChange
=
v
.
findViewById
(
R
.
id
.
hargaChange
);
hargaChange
=
v
.
findViewById
(
R
.
id
.
hargaChange
);
btnCash
=
v
.
findViewById
(
R
.
id
.
btnCash
);
btnCash
=
v
.
findViewById
(
R
.
id
.
btnCash
);
totalHarga
=
v
.
findViewById
(
R
.
id
.
totalHarga
);
totalHarga
=
v
.
findViewById
(
R
.
id
.
totalHarga
);
utils
=
new
Utils
();
utils
=
new
Utils
();
bottomSheetBehavior
=
BottomSheetBehavior
.
from
(
layoutFormCash
);
// sharedPreferences = getActivity().getSharedPreferences(MainActivity.ORDER_ID, Context.MODE_PRIVATE);
// sharedPreferences = getActivity().getSharedPreferences(MainActivity.ORDER_ID, Context.MODE_PRIVATE);
bottomSheetBehavior
.
setState
(
BottomSheetBehavior
.
STATE_COLLAPSED
);
long
ga
=
paymentsModels
.
getGrossAmount
();
long
ga
=
paymentsModels
.
getGrossAmount
();
String
setCurrency
=
utils
.
convertPrice
(
"Rp."
,
ga
);
String
setCurrency
=
utils
.
convertPrice
(
"Rp."
,
ga
);
totalHarga
.
setText
(
setCurrency
);
totalHarga
.
setText
(
setCurrency
);
hargaChange
.
setText
(
defaultText
);
hargaChange
.
setText
(
defaultText
);
bottomSheetBehavior
.
setBottomSheetCallback
(
new
BottomSheetBehavior
.
BottomSheetCallback
()
{
@Override
public
void
onStateChanged
(
@NonNull
View
bottomSheet
,
int
newState
)
{
switch
(
newState
)
{
case
BottomSheetBehavior
.
STATE_HIDDEN
:
break
;
case
BottomSheetBehavior
.
STATE_EXPANDED
:
break
;
case
BottomSheetBehavior
.
STATE_COLLAPSED
:
break
;
case
BottomSheetBehavior
.
STATE_DRAGGING
:
break
;
case
BottomSheetBehavior
.
STATE_SETTLING
:
break
;
}
}
@Override
public
void
onSlide
(
@NonNull
View
bottomSheet
,
float
slideOffset
)
{
if
(
bottomSheetBehavior
.
getState
()
!=
BottomSheetBehavior
.
STATE_EXPANDED
)
{
bottomSheetBehavior
.
setState
(
BottomSheetBehavior
.
STATE_EXPANDED
);
}
else
{
bottomSheetBehavior
.
setState
(
BottomSheetBehavior
.
STATE_COLLAPSED
);
}
}
});
inputAmount
.
addTextChangedListener
(
new
TextWatcher
()
{
inputAmount
.
addTextChangedListener
(
new
TextWatcher
()
{
@Override
@Override
public
void
beforeTextChanged
(
CharSequence
charSequence
,
int
i
,
int
i1
,
int
i2
)
{
public
void
beforeTextChanged
(
CharSequence
charSequence
,
int
i
,
int
i1
,
int
i2
)
{
...
...
app/src/main/java/com/yono/messeripos/FormCategory.java
0 → 100644
View file @
d49e1a6d
package
com
.
yono
.
messeripos
;
import
android.os.Bundle
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
com.google.android.material.bottomsheet.BottomSheetDialogFragment
;
public
class
FormCategory
extends
BottomSheetDialogFragment
{
public
FormCategory
()
{
}
@Nullable
@Override
public
View
onCreateView
(
@NonNull
LayoutInflater
inflater
,
@Nullable
ViewGroup
container
,
@Nullable
Bundle
savedInstanceState
)
{
View
v
=
inflater
.
inflate
(
R
.
layout
.
form_category
,
container
,
false
);
return
v
;
}
}
app/src/main/java/com/yono/messeripos/FormProductActivity.java
View file @
d49e1a6d
...
@@ -8,14 +8,11 @@ import android.content.CursorLoader;
...
@@ -8,14 +8,11 @@ import android.content.CursorLoader;
import
android.content.DialogInterface
;
import
android.content.DialogInterface
;
import
android.content.Intent
;
import
android.content.Intent
;
import
android.database.Cursor
;
import
android.database.Cursor
;
import
android.graphics.Bitmap
;
import
android.graphics.BitmapFactory
;
import
android.net.Uri
;
import
android.net.Uri
;
import
android.os.Build
;
import
android.os.Build
;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.os.Environment
;
import
android.os.Environment
;
import
android.provider.MediaStore
;
import
android.provider.MediaStore
;
import
android.util.Base64
;
import
android.util.Log
;
import
android.util.Log
;
import
android.view.Window
;
import
android.view.Window
;
import
android.view.WindowManager
;
import
android.view.WindowManager
;
...
@@ -31,6 +28,7 @@ import androidx.lifecycle.Observer;
...
@@ -31,6 +28,7 @@ import androidx.lifecycle.Observer;
import
androidx.lifecycle.ViewModelProviders
;
import
androidx.lifecycle.ViewModelProviders
;
import
com.google.android.material.appbar.MaterialToolbar
;
import
com.google.android.material.appbar.MaterialToolbar
;
import
com.google.android.material.bottomsheet.BottomSheetDialogFragment
;
import
com.jaredrummler.materialspinner.MaterialSpinner
;
import
com.jaredrummler.materialspinner.MaterialSpinner
;
import
com.yono.messeripos.api.client.Client
;
import
com.yono.messeripos.api.client.Client
;
import
com.yono.messeripos.api.service.ProductService
;
import
com.yono.messeripos.api.service.ProductService
;
...
@@ -41,7 +39,6 @@ import com.yono.messeripos.models.ProductModels;
...
@@ -41,7 +39,6 @@ import com.yono.messeripos.models.ProductModels;
import
com.yono.messeripos.response.DataResponse
;
import
com.yono.messeripos.response.DataResponse
;
import
com.yono.messeripos.utils.Utils
;
import
com.yono.messeripos.utils.Utils
;
import
java.io.ByteArrayOutputStream
;
import
java.io.File
;
import
java.io.File
;
import
java.text.SimpleDateFormat
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
...
@@ -80,7 +77,6 @@ public class FormProductActivity extends AppCompatActivity {
...
@@ -80,7 +77,6 @@ public class FormProductActivity extends AppCompatActivity {
binding
.
btnAdd
.
setText
(
"Add New Product"
);
binding
.
btnAdd
.
setText
(
"Add New Product"
);
productModels
=
new
ProductModels
();
productModels
=
new
ProductModels
();
requestPermissions
(
permissions
,
REQUEST_PERMISSIONS
);
mainViewModels
=
ViewModelProviders
.
of
(
this
).
get
(
MainViewModels
.
class
);
mainViewModels
=
ViewModelProviders
.
of
(
this
).
get
(
MainViewModels
.
class
);
progressDialog
=
new
ProgressDialog
(
FormProductActivity
.
this
);
progressDialog
=
new
ProgressDialog
(
FormProductActivity
.
this
);
progressDialog
.
setMessage
(
"Loading..."
);
progressDialog
.
setMessage
(
"Loading..."
);
...
@@ -128,7 +124,13 @@ public class FormProductActivity extends AppCompatActivity {
...
@@ -128,7 +124,13 @@ public class FormProductActivity extends AppCompatActivity {
categoryModels
.
add
(
"SELECT CATEGORY"
);
categoryModels
.
add
(
"SELECT CATEGORY"
);
setSpinner
();
setSpinner
();
setSelectedSpinner
();
setSelectedSpinner
();
addCategory
();
}
private
void
addCategory
()
{
FormCategory
formCategory
=
new
FormCategory
();
formCategory
.
show
(
getSupportFragmentManager
(),
"ModalFormCategory"
);
}
}
private
void
setSelectedSpinner
()
{
private
void
setSelectedSpinner
()
{
...
@@ -270,6 +272,7 @@ public class FormProductActivity extends AppCompatActivity {
...
@@ -270,6 +272,7 @@ public class FormProductActivity extends AppCompatActivity {
}
}
private
void
openFile
(){
private
void
openFile
(){
requestPermissions
(
permissions
,
REQUEST_PERMISSIONS
);
Intent
i
=
new
Intent
(
Intent
.
ACTION_PICK
,
MediaStore
.
Images
.
Media
.
EXTERNAL_CONTENT_URI
);
Intent
i
=
new
Intent
(
Intent
.
ACTION_PICK
,
MediaStore
.
Images
.
Media
.
EXTERNAL_CONTENT_URI
);
startActivityForResult
(
i
,
100
);
startActivityForResult
(
i
,
100
);
...
...
app/src/main/java/com/yono/messeripos/MainActivity.java
View file @
d49e1a6d
...
@@ -29,7 +29,11 @@ import androidx.lifecycle.ViewModelProvider;
...
@@ -29,7 +29,11 @@ import androidx.lifecycle.ViewModelProvider;
import
androidx.lifecycle.ViewModelProviders
;
import
androidx.lifecycle.ViewModelProviders
;
import
androidx.recyclerview.widget.GridLayoutManager
;
import
androidx.recyclerview.widget.GridLayoutManager
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.LinearLayoutManager
;
import
androidx.recyclerview.widget.RecyclerView
;
import
com.ethanhua.skeleton.RecyclerViewSkeletonScreen
;
import
com.ethanhua.skeleton.Skeleton
;
import
com.ethanhua.skeleton.SkeletonScreen
;
import
com.google.android.material.appbar.MaterialToolbar
;
import
com.google.android.material.appbar.MaterialToolbar
;
import
com.google.android.material.button.MaterialButton
;
import
com.google.android.material.button.MaterialButton
;
import
com.google.android.material.snackbar.Snackbar
;
import
com.google.android.material.snackbar.Snackbar
;
...
@@ -76,6 +80,9 @@ public class MainActivity extends AppCompatActivity {
...
@@ -76,6 +80,9 @@ public class MainActivity extends AppCompatActivity {
public
static
final
String
MY_SHARED_PREFERENCES
=
"my_shared_preferences"
;
public
static
final
String
MY_SHARED_PREFERENCES
=
"my_shared_preferences"
;
ProgressDialog
progressDialog
;
ProgressDialog
progressDialog
;
MaterialButton
btnAddCart
;
MaterialButton
btnAddCart
;
SkeletonScreen
skeletonCategory
;
@SuppressLint
(
"LongLogTag"
)
@SuppressLint
(
"LongLogTag"
)
@Override
@Override
...
@@ -89,6 +96,8 @@ public class MainActivity extends AppCompatActivity {
...
@@ -89,6 +96,8 @@ public class MainActivity extends AppCompatActivity {
showLoading
(
true
);
showLoading
(
true
);
btnAddCart
=
findViewById
(
R
.
id
.
materialBtnAddCart
);
btnAddCart
=
findViewById
(
R
.
id
.
materialBtnAddCart
);
binding
.
tvCategory
.
setVisibility
(
View
.
GONE
);
binding
.
tvProduct
.
setVisibility
(
View
.
GONE
);
categoryAdapter
=
new
CategoryAdapter
();
categoryAdapter
=
new
CategoryAdapter
();
productAdapter
=
new
ProductAdapter
();
productAdapter
=
new
ProductAdapter
();
...
@@ -102,7 +111,6 @@ public class MainActivity extends AppCompatActivity {
...
@@ -102,7 +111,6 @@ public class MainActivity extends AppCompatActivity {
toolbar
=
findViewById
(
R
.
id
.
topAppBar
);
toolbar
=
findViewById
(
R
.
id
.
topAppBar
);
mainViewModels
=
ViewModelProviders
.
of
(
this
).
get
(
MainViewModels
.
class
);
mainViewModels
=
ViewModelProviders
.
of
(
this
).
get
(
MainViewModels
.
class
);
if
(
orderId
.
isEmpty
())
if
(
orderId
.
isEmpty
())
{
{
SharedPreferences
.
Editor
editor
=
sharedPreferences
.
edit
();
SharedPreferences
.
Editor
editor
=
sharedPreferences
.
edit
();
...
@@ -141,6 +149,7 @@ public class MainActivity extends AppCompatActivity {
...
@@ -141,6 +149,7 @@ public class MainActivity extends AppCompatActivity {
}
else
if
(
id
==
R
.
id
.
update
){
}
else
if
(
id
==
R
.
id
.
update
){
status_update
=
true
;
status_update
=
true
;
// binding.topAppBar.setVisibility(View.GONE);
// binding.topAppBar.setVisibility(View.GONE);
binding
.
tvCategory
.
setVisibility
(
View
.
GONE
);
binding
.
rvCategory
.
setVisibility
(
View
.
GONE
);
binding
.
rvCategory
.
setVisibility
(
View
.
GONE
);
// binding.appBarUpdate.setVisibility(View.VISIBLE);
// binding.appBarUpdate.setVisibility(View.VISIBLE);
...
@@ -177,8 +186,14 @@ public class MainActivity extends AppCompatActivity {
...
@@ -177,8 +186,14 @@ public class MainActivity extends AppCompatActivity {
categoryModels
.
add
(
0
,
caModels
);
categoryModels
.
add
(
0
,
caModels
);
categoryModelsArrayList
.
addAll
(
categoryModels
);
categoryModelsArrayList
.
addAll
(
categoryModels
);
binding
.
tvCategory
.
setVisibility
(
View
.
VISIBLE
);
binding
.
tvProduct
.
setVisibility
(
View
.
VISIBLE
);
categoryAdapter
.
setCategoriAdapter
(
MainActivity
.
this
,
categoryModelsArrayList
);
categoryAdapter
.
setCategoriAdapter
(
MainActivity
.
this
,
categoryModelsArrayList
);
binding
.
rvCategory
.
setLayoutManager
(
new
LinearLayoutManager
(
MainActivity
.
this
,
LinearLayoutManager
.
HORIZONTAL
,
false
));
binding
.
rvCategory
.
setLayoutManager
(
new
LinearLayoutManager
(
MainActivity
.
this
,
RecyclerView
.
HORIZONTAL
,
false
));
binding
.
rvCategory
.
setAdapter
(
categoryAdapter
);
binding
.
rvCategory
.
setAdapter
(
categoryAdapter
);
}
}
...
...
app/src/main/java/com/yono/messeripos/PaymentActivity.java
View file @
d49e1a6d
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
;
...
@@ -19,10 +20,12 @@ import android.view.View;
...
@@ -19,10 +20,12 @@ import android.view.View;
import
android.view.Window
;
import
android.view.Window
;
import
android.view.WindowManager
;
import
android.view.WindowManager
;
import
android.widget.Button
;
import
android.widget.Button
;
import
android.widget.RelativeLayout
;
import
android.widget.TextView
;
import
android.widget.TextView
;
import
android.widget.Toast
;
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.gson.Gson
;
import
com.google.gson.Gson
;
import
com.yono.messeripos.adapter.CheckoutAdapter
;
import
com.yono.messeripos.adapter.CheckoutAdapter
;
import
com.yono.messeripos.adapter.PaymentAdapter
;
import
com.yono.messeripos.adapter.PaymentAdapter
;
...
@@ -64,6 +67,8 @@ public class PaymentActivity extends AppCompatActivity {
...
@@ -64,6 +67,8 @@ public class PaymentActivity extends AppCompatActivity {
public
static
SharedPreferences
sharedPreferences
;
public
static
SharedPreferences
sharedPreferences
;
Button
cashBtn
;
Button
cashBtn
;
ProgressDialog
progressDialog
;
ProgressDialog
progressDialog
;
BottomSheetBehavior
bottomSheetBank
;
RelativeLayout
qrcodeLayoutBank
;
...
@@ -83,6 +88,8 @@ public class PaymentActivity extends AppCompatActivity {
...
@@ -83,6 +88,8 @@ public class PaymentActivity extends AppCompatActivity {
checkoutAdapter
=
new
CheckoutAdapter
();
checkoutAdapter
=
new
CheckoutAdapter
();
recyclerView
=
findViewById
(
R
.
id
.
rvItem
);
recyclerView
=
findViewById
(
R
.
id
.
rvItem
);
grandTotal
=
findViewById
(
R
.
id
.
grand_total
);
grandTotal
=
findViewById
(
R
.
id
.
grand_total
);
qrcodeLayoutBank
=
findViewById
(
R
.
id
.
qrCodeForm
);
bottomSheetBank
=
BottomSheetBehavior
.
from
(
qrcodeLayoutBank
);
progressDialog
=
new
ProgressDialog
(
PaymentActivity
.
this
);
progressDialog
=
new
ProgressDialog
(
PaymentActivity
.
this
);
progressDialog
.
setMessage
(
"Loading..."
);
progressDialog
.
setMessage
(
"Loading..."
);
progressDialog
.
setCancelable
(
false
);
progressDialog
.
setCancelable
(
false
);
...
@@ -135,6 +142,35 @@ public class PaymentActivity extends AppCompatActivity {
...
@@ -135,6 +142,35 @@ public class PaymentActivity extends AppCompatActivity {
btnPay
.
setEnabled
(
true
);
btnPay
.
setEnabled
(
true
);
});
});
bottomSheetBank
.
setBottomSheetCallback
(
new
BottomSheetBehavior
.
BottomSheetCallback
()
{
@Override
public
void
onStateChanged
(
@NonNull
View
bottomSheet
,
int
newState
)
{
switch
(
newState
)
{
case
BottomSheetBehavior
.
STATE_HIDDEN
:
break
;
case
BottomSheetBehavior
.
STATE_EXPANDED
:
break
;
case
BottomSheetBehavior
.
STATE_COLLAPSED
:
break
;
case
BottomSheetBehavior
.
STATE_DRAGGING
:
break
;
case
BottomSheetBehavior
.
STATE_SETTLING
:
break
;
}
}
@Override
public
void
onSlide
(
@NonNull
View
bottomSheet
,
float
slideOffset
)
{
if
(
bottomSheetBank
.
getState
()
!=
BottomSheetBehavior
.
STATE_EXPANDED
)
{
bottomSheetBank
.
setState
(
BottomSheetBehavior
.
STATE_EXPANDED
);
}
else
{
bottomSheetBank
.
setState
(
BottomSheetBehavior
.
STATE_COLLAPSED
);
}
}
});
btnPay
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
btnPay
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
@Override
public
void
onClick
(
View
view
)
{
public
void
onClick
(
View
view
)
{
...
@@ -146,43 +182,44 @@ public class PaymentActivity extends AppCompatActivity {
...
@@ -146,43 +182,44 @@ public class PaymentActivity extends AppCompatActivity {
bottomSheet
.
show
(
getSupportFragmentManager
(),
bottomSheet
.
show
(
getSupportFragmentManager
(),
"ModalBottomSheet"
);
"ModalBottomSheet"
);
}
else
{
}
else
{
progressDialog
.
show
();
bottomSheetBank
.
setState
(
BottomSheetBehavior
.
STATE_EXPANDED
);
Client
client
=
new
Client
();
// progressDialog.show();
paymentsModels
.
setPaymentType
(
"bank_transfer"
);
// Client client = new Client();
paymentsModels
.
setBank
(
methodPay
);
// paymentsModels.setPaymentType("bank_transfer");
paymentsModels
.
setOrderId
(
orderId
);
// paymentsModels.setBank(methodPay);
Log
.
i
(
"BANK"
,
"onClick: "
+
utils
.
convertGson
(
paymentsModels
));
// paymentsModels.setOrderId(orderId);
PaymentService
paymentService
=
client
.
Client
(
PaymentService
.
class
);
// Log.i("BANK", "onClick: "+utils.convertGson(paymentsModels));
paymentService
.
postFromCart
(
paymentsModels
).
enqueue
(
new
Callback
<
DataResponse
<
PaymentsModels
>>()
{
// PaymentService paymentService = client.Client(PaymentService.class);
@Override
// paymentService.postFromCart(paymentsModels).enqueue(new Callback<DataResponse<PaymentsModels>>() {
public
void
onResponse
(
Call
<
DataResponse
<
PaymentsModels
>>
call
,
Response
<
DataResponse
<
PaymentsModels
>>
response
)
{
// @Override
Log
.
i
(
"Paymen_bank"
,
"onResponse: "
+
utils
.
convertGson
(
response
.
body
()));
// public void onResponse(Call<DataResponse<PaymentsModels>> call, Response<DataResponse<PaymentsModels>> response) {
if
(
response
.
body
()
!=
null
){
// Log.i("Paymen_bank", "onResponse: "+utils.convertGson(response.body()));
SharedPreferences
.
Editor
editor
=
sharedPreferences
.
edit
();
// if (response.body() != null){
editor
.
putString
(
ORDER_ID
,
""
);
// SharedPreferences.Editor editor = sharedPreferences.edit();
editor
.
putBoolean
(
CHECKOUT
,
false
);
// editor.putString(ORDER_ID, "");
progressDialog
.
dismiss
();
// editor.putBoolean(CHECKOUT, false);
if
(
editor
.
commit
()){
// progressDialog.dismiss();
startActivity
(
new
Intent
(
PaymentActivity
.
this
,
MainActivity
.
class
));
// if (editor.commit()){
finish
();
// startActivity(new Intent(PaymentActivity.this, MainActivity.class));
}
// finish();
}
else
{
// }
progressDialog
.
dismiss
();
// }else{
new
AlertDialog
.
Builder
(
PaymentActivity
.
this
)
// progressDialog.dismiss();
.
setTitle
(
"Payment Order"
)
// new AlertDialog.Builder(PaymentActivity.this)
.
setMessage
(
"Erorr save!"
).
show
();
// .setTitle("Payment Order")
}
// .setMessage("Erorr save!").show();
}
// }
// }
@Override
//
public
void
onFailure
(
Call
<
DataResponse
<
PaymentsModels
>>
call
,
Throwable
t
)
{
// @Override
progressDialog
.
dismiss
();
// public void onFailure(Call<DataResponse<PaymentsModels>> call, Throwable t) {
new
AlertDialog
.
Builder
(
PaymentActivity
.
this
)
// progressDialog.dismiss();
.
setCancelable
(
false
)
// new AlertDialog.Builder(PaymentActivity.this)
.
setTitle
(
"Payment Order"
)
// .setCancelable(false)
.
setMessage
(
"Add new payment failed, try again!"
).
show
();
// .setTitle("Payment Order")
}
// .setMessage("Add new payment failed, try again!").show();
});
// }
// });
}
}
...
...
app/src/main/java/com/yono/messeripos/QRCode.java
View file @
d49e1a6d
...
@@ -32,7 +32,11 @@ public class QRCode extends AppCompatActivity {
...
@@ -32,7 +32,11 @@ public class QRCode extends AppCompatActivity {
qrCode
=
findViewById
(
R
.
id
.
qr_image
);
qrCode
=
findViewById
(
R
.
id
.
qr_image
);
vaText
=
findViewById
(
R
.
id
.
etVA
);
vaText
=
findViewById
(
R
.
id
.
etVA
);
generateQrCode
();
}
private
void
generateQrCode
()
{
WindowManager
manager
=
(
WindowManager
)
getSystemService
(
WINDOW_SERVICE
);
WindowManager
manager
=
(
WindowManager
)
getSystemService
(
WINDOW_SERVICE
);
Display
display
=
manager
.
getDefaultDisplay
();
Display
display
=
manager
.
getDefaultDisplay
();
Point
point
=
new
Point
();
Point
point
=
new
Point
();
...
@@ -41,7 +45,6 @@ public class QRCode extends AppCompatActivity {
...
@@ -41,7 +45,6 @@ public class QRCode extends AppCompatActivity {
int
height
=
point
.
y
;
int
height
=
point
.
y
;
int
smallDimens
=
Math
.
min
(
width
,
height
);
int
smallDimens
=
Math
.
min
(
width
,
height
);
smallDimens
=
smallDimens
*
3
/
4
;
smallDimens
=
smallDimens
*
3
/
4
;
qrgEncoder
=
new
QRGEncoder
(
qrgEncoder
=
new
QRGEncoder
(
"inputValue"
,
null
,
"inputValue"
,
null
,
QRGContents
.
Type
.
TEXT
,
QRGContents
.
Type
.
TEXT
,
...
@@ -54,6 +57,5 @@ public class QRCode extends AppCompatActivity {
...
@@ -54,6 +57,5 @@ public class QRCode extends AppCompatActivity {
}
catch
(
Exception
e
)
{
}
catch
(
Exception
e
)
{
Log
.
d
(
"onCreate: "
,
e
.
toString
());
Log
.
d
(
"onCreate: "
,
e
.
toString
());
}
}
}
}
}
}
\ No newline at end of file
app/src/main/java/com/yono/messeripos/adapter/CategoryAdapter.java
View file @
d49e1a6d
package
com
.
yono
.
messeripos
.
adapter
;
package
com
.
yono
.
messeripos
.
adapter
;
import
android.content.Context
;
import
android.content.Context
;
import
android.util.Log
;
import
android.view.LayoutInflater
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.ViewGroup
;
...
@@ -53,6 +54,7 @@ public class CategoryAdapter extends RecyclerView.Adapter<CategoryAdapter.MyView
...
@@ -53,6 +54,7 @@ public class CategoryAdapter extends RecyclerView.Adapter<CategoryAdapter.MyView
@Override
@Override
public
void
onBindViewHolder
(
@NonNull
CategoryAdapter
.
MyViewHolder
holder
,
int
position
)
{
public
void
onBindViewHolder
(
@NonNull
CategoryAdapter
.
MyViewHolder
holder
,
int
position
)
{
Log
.
i
(
"POSITION"
,
"onBindViewHolder: "
+
position
);
holder
.
binData
(
categoryModels
.
get
(
position
));
holder
.
binData
(
categoryModels
.
get
(
position
));
}
}
...
...
app/src/main/java/com/yono/messeripos/adapter/ProductAdapter.java
View file @
d49e1a6d
...
@@ -131,9 +131,11 @@ public class ProductAdapter extends RecyclerView.Adapter<ProductAdapter.MyViewHo
...
@@ -131,9 +131,11 @@ public class ProductAdapter extends RecyclerView.Adapter<ProductAdapter.MyViewHo
if
(!
MainActivity
.
status_update
)
{
if
(!
MainActivity
.
status_update
)
{
binding
.
btnDelete
.
setVisibility
(
View
.
GONE
);
binding
.
btnDelete
.
setVisibility
(
View
.
GONE
);
binding
.
btnEdit
.
setVisibility
(
View
.
GONE
);
binding
.
btnEdit
.
setVisibility
(
View
.
GONE
);
binding
.
materialBtnAddCart
.
setVisibility
(
View
.
VISIBLE
);
}
else
{
}
else
{
binding
.
btnDelete
.
setVisibility
(
View
.
VISIBLE
);
binding
.
btnDelete
.
setVisibility
(
View
.
VISIBLE
);
binding
.
btnEdit
.
setVisibility
(
View
.
VISIBLE
);
binding
.
btnEdit
.
setVisibility
(
View
.
VISIBLE
);
binding
.
materialBtnAddCart
.
setVisibility
(
View
.
GONE
);
}
}
if
(
products
.
getStockProduct
()
==
0
)
{
if
(
products
.
getStockProduct
()
==
0
)
{
...
...
app/src/main/res/drawable/bg_grid_item.xml
0 → 100644
View file @
d49e1a6d
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<solid
android:color=
"@android:color/transparent"
/>
<stroke
android:width=
"1px"
android:color=
"#d6d6d6"
/>
</shape>
\ No newline at end of file
app/src/main/res/drawable/round_corner_sheet.xml
0 → 100644
View file @
d49e1a6d
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<item>
<shape>
<corners
android:topLeftRadius=
"30dp"
android:topRightRadius=
"30dp"
/>
</shape>
</item>
</selector>
\ No newline at end of file
app/src/main/res/layout/activity_bottom_sheets.xml
View file @
d49e1a6d
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
>
<RelativeLayout
<RelativeLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:id=
"@+id/form_cash"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_height=
"match_parent"
android:gravity=
"center_horizontal"
android:gravity=
"center_horizontal"
android:orientation=
"vertical"
android:orientation=
"vertical"
app:behavior_hideable=
"true"
app:behavior_peekHeight=
"56dp"
app:layout_behavior=
"com.google.android.material.bottomsheet.BottomSheetBehavior"
style=
"@style/AppModalStyle"
android:padding=
"16dp"
>
android:padding=
"16dp"
>
<TextView
<TextView
...
@@ -71,6 +81,7 @@
...
@@ -71,6 +81,7 @@
android:layout_below=
"@id/etBayar"
/>
android:layout_below=
"@id/etBayar"
/>
</RelativeLayout>
</RelativeLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
app/src/main/res/layout/activity_invoice.xml
View file @
d49e1a6d
<?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"
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
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"
>
<com.google.android.material.card.MaterialCardView
android:id=
"@+id/cvInvoice"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/ic_launcher_new_icon_background"
>
android:layout_marginTop=
"10dp"
android:layout_marginBottom=
"10dp"
android:padding=
"18dp"
android:scrollbars=
"vertical"
app:cardCornerRadius=
"3dp"
>
<com.google.android.material.textfield.TextInputLayout
<androidx.constraintlayout.widget.ConstraintLayout
android:id=
"@+id/tilInvoice"
android:layout_width=
"match_parent"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
tools:ignore=
"MissingConstraints"
>
android:padding=
"10dp"
>
<com.google.android.material.textview.MaterialTextView
<com.google.android.material.textview.MaterialTextView
android:id=
"@+id/tvProductName
"
android:id=
"@+id/tvBilling
"
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:fontFamily=
"@font/roboto"
android:fontFamily=
"@font/roboto"
android:text=
"Billing "
android:textAlignment=
"center"
android:textSize=
"24sp"
android:textSize=
"24sp"
android:nestedScrollingEnabled=
"false"
app:layout_constraintStart_toStartOf=
"@id/image_splash"
android:text=
"Invoice"
app:layout_constraintStart_toStartOf=
"parent"
android:textColor=
"@color/colorWhite"
app:layout_constraintTop_toTopOf=
"parent"
/>
app:layout_constraintTop_toTopOf=
"parent"
/>
</com.google.android.material.textfield.TextInputLayout>
<ImageView
<com.google.android.material.card.MaterialCardView
android:id=
"@+id/image_splash"
android:id=
"@+id/cvInvoice"
android:layout_width=
"50dp"
android:layout_width=
"match_parent"
android:layout_height=
"50dp"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"8dp"
android:padding=
"12sp"
android:src=
"@drawable/bill"
app:cardCornerRadius=
"20dp"
app:layout_constraintStart_toStartOf=
"parent"
android:nestedScrollingEnabled=
"false"
app:layout_constraintTop_toBottomOf=
"@id/tvBilling"
/>
app:layout_constraintTop_toBottomOf=
"@+id/tilInvoice"
tools:ignore=
"MissingConstraints"
>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width=
"match_parent"
android:layout_height=
"600dp"
>
</androidx.constraintlayout.widget.ConstraintLayout>
</com.google.android.material.card.MaterialCardView>
<TextView
android:id=
"@+id/grand_total"
android:layout_width=
"300dp"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"24dp"
android:text=
""
android:textColor=
"@android:color/black"
android:textSize=
"30sp"
android:textAlignment=
"textEnd"
tools:text=
"@tools:sample/full_names"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintBottom_toBottomOf=
"@id/image_splash"
/>
<com.google.android.material.button.MaterialButton
<TextView
android:id=
"@+id/btCheckout
"
android:id=
"@+id/title_item
"
android:layout_width=
"match_parent
"
android:layout_width=
"200dp
"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"@string/title_success"
android:layout_marginTop=
"10dp"
android:padding=
"15dp"
android:textColor=
"@android:color/black"
android:textSize=
"16sp"
android:text=
"ITEM CHECKOUT"
android:layout_margin=
"10dp"
android:textSize=
"20sp"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
/>
app:layout_constraintTop_toBottomOf=
"@id/image_splash"
tools:text=
"@tools:sample/full_names"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</com.google.android.material.card.MaterialCardView>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
app/src/main/res/layout/activity_payment.xml
View file @
d49e1a6d
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout
<RelativeLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
xmlns:android=
"http://schemas.android.com/apk/res/android"
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"
>
xmlns:tools=
"http://schemas.android.com/tools"
<RelativeLayout
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_height=
"match_parent"
tools:context=
".PaymentActivity"
>
tools:context=
".PaymentActivity"
>
<include
<include
android:id=
"@+id/appbar"
android:id=
"@+id/appbar"
layout=
"@layout/app_bar"
layout=
"@layout/app_bar"
/>
android:layout_above=
"@id/cvInvoice"
/>
<com.google.android.material.card.MaterialCardView
<include
android:layout_below=
"@id/appbar"
layout=
"@layout/activity_invoice"
android:id=
"@+id/cvInvoice"
android:id=
"@+id/cvInvoice"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"10dp"
android:layout_marginBottom=
"10dp"
android:padding=
"18dp"
android:scrollbars=
"vertical"
app:cardCornerRadius=
"3dp"
android:layout_below=
"@id/appbar"
>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:padding=
"10dp"
>
android:layout_width=
"match_parent"
/>
<com.google.android.material.textview.MaterialTextView
android:id=
"@+id/tvBilling"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:fontFamily=
"@font/roboto"
android:text=
"Billing "
android:textAlignment=
"center"
android:textSize=
"24sp"
app:layout_constraintStart_toStartOf=
"@id/image_splash"
app:layout_constraintTop_toTopOf=
"parent"
/>
<ImageView
android:id=
"@+id/image_splash"
android:layout_width=
"50dp"
android:layout_height=
"50dp"
android:layout_marginTop=
"8dp"
android:src=
"@drawable/bill"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/tvBilling"
/>
<TextView
android:id=
"@+id/grand_total"
android:layout_width=
"300dp"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"24dp"
android:text=
""
android:textColor=
"@android:color/black"
android:textSize=
"30sp"
android:textAlignment=
"textEnd"
tools:text=
"@tools:sample/full_names"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintBottom_toBottomOf=
"@id/image_splash"
/>
<TextView
android:id=
"@+id/title_item"
android:layout_width=
"200dp"
android:layout_height=
"wrap_content"
android:layout_marginTop=
"10dp"
android:textColor=
"@android:color/black"
android:text=
"ITEM CHECKOUT"
android:textSize=
"20sp"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/image_splash"
tools:text=
"@tools:sample/full_names"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</com.google.android.material.card.MaterialCardView>
<ScrollView
<ScrollView
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
...
@@ -143,4 +85,7 @@
...
@@ -143,4 +85,7 @@
android:layout_alignParentStart=
"true"
android:layout_alignParentStart=
"true"
/>
/>
</RelativeLayout>
</RelativeLayout>
<include
layout=
"@layout/activity_q_r_code"
/>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
app/src/main/res/layout/activity_q_r_code.xml
View file @
d49e1a6d
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
<RelativeLayout
android:id=
"@+id/qrCodeForm"
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_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_height=
"380dp"
app:behavior_hideable=
"true"
app:behavior_peekHeight=
"56dp"
android:background=
"#efefef"
app:layout_behavior=
"com.google.android.material.bottomsheet.BottomSheetBehavior"
tools:context=
".QRCode"
>
tools:context=
".QRCode"
>
<ImageView
<ImageView
...
...
app/src/main/res/layout/form_category.xml
0 → 100644
View file @
d49e1a6d
<?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/tvAddCategory"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"Category Name"
android:textSize=
"20sp"
android:textFontWeight=
"600"
android:layout_alignParentStart=
"true"
/>
<EditText
android:id=
"@+id/etBayar"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_below=
"@id/tvAddCategory"
android:hint=
"Category Name"
android:inputType=
"number"
android:imeOptions=
"actionDone"
/>
<Button
android:id=
"@+id/btnCash"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:text=
"@string/text_new_category"
android:hint=
"Insert Money"
android:layout_below=
"@id/etBayar"
/>
</RelativeLayout>
app/src/main/res/layout/form_product.xml
View file @
d49e1a6d
...
@@ -139,7 +139,7 @@
...
@@ -139,7 +139,7 @@
android:foregroundGravity=
"bottom"
android:foregroundGravity=
"bottom"
android:text=
"@string/add"
android:text=
"@string/add"
android:padding=
"14dp"
android:padding=
"14dp"
android:backgroundTint=
"@color/colorAccent
Dark
"
android:backgroundTint=
"@color/colorAccent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintTop_toTopOf=
"@id/listCategory"
app:layout_constraintTop_toTopOf=
"@id/listCategory"
app:layout_constraintBottom_toBottomOf=
"@id/listCategory"
app:layout_constraintBottom_toBottomOf=
"@id/listCategory"
...
...
app/src/main/res/layout/item_checkout.xml
View file @
d49e1a6d
...
@@ -37,7 +37,7 @@
...
@@ -37,7 +37,7 @@
tools:text=
"@tools:sample/full_names"
tools:text=
"@tools:sample/full_names"
android:textSize=
"20sp"
android:textSize=
"20sp"
android:lines=
"3"
android:lines=
"3"
android:text=
"@{checkout.product_name_orders+` x `+checkout.quantity_orders}"
android:text=
"@{checkout.product_name_orders
.toUpperCase()
+` x `+checkout.quantity_orders}"
android:layout_margin=
"10dp"
android:layout_margin=
"10dp"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
app:layout_constraintTop_toTopOf=
"parent"
/>
...
...
app/src/main/res/layout/item_list.xml
View file @
d49e1a6d
...
@@ -28,6 +28,7 @@
...
@@ -28,6 +28,7 @@
android:layout_marginVertical=
"10dp"
>
android:layout_marginVertical=
"10dp"
>
<com.google.android.material.card.MaterialCardView
<com.google.android.material.card.MaterialCardView
android:id=
"@+id/cvProduct"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_height=
"match_parent"
app:cardElevation=
"0dp"
app:cardElevation=
"0dp"
...
@@ -48,23 +49,25 @@
...
@@ -48,23 +49,25 @@
app:url=
"@{image}"
app:url=
"@{image}"
android:scaleType=
"fitXY"
/>
android:scaleType=
"fitXY"
/>
<
ImageView
<
com.google.android.material.button.MaterialButton
android:id=
"@+id/btnDelete"
android:id=
"@+id/btnDelete"
android:layout_width=
"
30dp
"
android:layout_width=
"
wrap_content
"
android:layout_height=
"
3
0dp"
android:layout_height=
"
4
0dp"
android:layout_margin=
"10dp"
android:layout_margin=
"10dp"
app:layout_constraintEnd_toEndOf=
"parent"
android:backgroundTint=
"@color/colorRed"
app:layout_constraintTop_toTopOf=
"parent"
android:text=
"Delete"
android:src=
"@drawable/ic_baseline_delete_24"
/>
app:layout_constraintBottom_toBottomOf=
"@id/image_product"
app:layout_constraintEnd_toEndOf=
"parent"
/>
<
ImageView
<
com.google.android.material.button.MaterialButton
android:id=
"@+id/btnEdit"
android:id=
"@+id/btnEdit"
android:layout_width=
"30dp"
android:layout_width=
"wrap_content"
android:layout_height=
"30dp"
android:layout_height=
"40dp"
android:layout_margin=
"10dp"
android:layout_marginEnd=
"10dp"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintBottom_toTopOf=
"@id/btnDelete"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
android:src=
"@drawable/ic_baseline_edit_24"
/>
android:backgroundTint=
"#4CAF50"
android:text=
"UPDATE"
/>
<TextView
<TextView
android:id=
"@+id/title_product"
android:id=
"@+id/title_product"
...
...
app/src/main/res/layout/skeleton_category.xml
0 → 100644
View file @
d49e1a6d
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:layout_width=
"match_parent"
android:layout_height=
"50dp"
android:layout_marginBottom=
"8dp"
android:background=
"@android:color/transparent"
>
<View
android:layout_width=
"0dp"
android:layout_height=
"1px"
android:background=
"@color/colorLine"
app:layout_constraintLeft_toLeftOf=
"parent"
app:layout_constraintLeft_toRightOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
<View
android:id=
"@+id/img_news"
android:layout_width=
"match_parent"
android:layout_height=
"0dp"
android:layout_margin=
"5dp"
android:background=
"@color/light_transparent"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintLeft_toLeftOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
app/src/main/res/values/colors.xml
View file @
d49e1a6d
...
@@ -9,4 +9,6 @@
...
@@ -9,4 +9,6 @@
<color
name=
"color_stroke"
>
#22333333
</color>
<color
name=
"color_stroke"
>
#22333333
</color>
<color
name=
"badge_not_available"
>
#F1ACAC
</color>
<color
name=
"badge_not_available"
>
#F1ACAC
</color>
<color
name=
"badge_available"
>
#9DED87
</color>
<color
name=
"badge_available"
>
#9DED87
</color>
<color
name=
"colorLine"
>
#dfdfdf
</color>
<color
name=
"colorRed"
>
#F81A1A
</color>
</resources>
</resources>
\ No newline at end of file
app/src/main/res/values/strings.xml
View file @
d49e1a6d
...
@@ -27,6 +27,7 @@
...
@@ -27,6 +27,7 @@
<string
name=
"hint_pay"
>
cash
</string>
<string
name=
"hint_pay"
>
cash
</string>
<string
name=
"title_next"
>
next
</string>
<string
name=
"title_next"
>
next
</string>
<string
name=
"open_cart"
>
Open Cart
</string>
<string
name=
"open_cart"
>
Open Cart
</string>
<string
name=
"text_new_category"
>
Add New Category
</string>
<string-array
name=
"planets_array"
>
<string-array
name=
"planets_array"
>
<item>
Mercury
</item>
<item>
Mercury
</item>
...
...
app/src/main/res/values/styles.xml
View file @
d49e1a6d
...
@@ -73,4 +73,7 @@
...
@@ -73,4 +73,7 @@
<item
name=
"android:hint"
>
Select kategori
</item>
<item
name=
"android:hint"
>
Select kategori
</item>
</style>
</style>
<style
name=
"AppModalStyle"
parent=
"Widget.Design.BottomSheet.Modal"
>
<item
name=
"android:background"
>
@drawable/round_corner_sheet
</item>
</style>
</resources>
</resources>
\ 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