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
bce8ab35
Commit
bce8ab35
authored
Sep 04, 2020
by
Alfansyah Fadlian
Browse files
Options
Browse Files
Download
Plain Diff
fix register state
parents
255ae572
37a68ec9
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
576 additions
and
261 deletions
+576
-261
misc.xml
.idea/misc.xml
+1
-1
AndroidManifest.xml
app/src/main/AndroidManifest.xml
+2
-1
ForgotCode.java
app/src/main/java/com/yono/messeripos/ForgotCode.java
+60
-0
ForgotPasswordActivity.java
...main/java/com/yono/messeripos/ForgotPasswordActivity.java
+14
-0
FormProductActivity.java
...rc/main/java/com/yono/messeripos/FormProductActivity.java
+12
-5
LoginState.java
app/src/main/java/com/yono/messeripos/LoginState.java
+12
-0
RegisterState.java
app/src/main/java/com/yono/messeripos/RegisterState.java
+54
-13
PaymentAdapter.java
...main/java/com/yono/messeripos/adapter/PaymentAdapter.java
+13
-1
TransactionAdapter.java
.../java/com/yono/messeripos/adapter/TransactionAdapter.java
+7
-2
ProductModels.java
...c/main/java/com/yono/messeripos/models/ProductModels.java
+4
-0
TransactionSuccess.java
...om/yono/messeripos/transactiontab/TransactionSuccess.java
+7
-0
Utils.java
app/src/main/java/com/yono/messeripos/utils/Utils.java
+22
-14
ic_baseline_delete_24.xml
app/src/main/res/drawable/ic_baseline_delete_24.xml
+1
-1
ic_baseline_edit_24.xml
app/src/main/res/drawable/ic_baseline_edit_24.xml
+1
-1
activity_detail_transaction.xml
app/src/main/res/layout/activity_detail_transaction.xml
+52
-0
activity_forgot_password.xml
app/src/main/res/layout/activity_forgot_password.xml
+4
-4
forgot_password_code.xml
app/src/main/res/layout/forgot_password_code.xml
+86
-64
form_product.xml
app/src/main/res/layout/form_product.xml
+1
-1
item_category.xml
app/src/main/res/layout/item_category.xml
+10
-8
methode_payment.xml
app/src/main/res/layout/methode_payment.xml
+51
-0
register_form.xml
app/src/main/res/layout/register_form.xml
+162
-145
No files found.
.idea/misc.xml
View file @
bce8ab35
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<project
version=
"4"
>
<project
version=
"4"
>
<component
name=
"ProjectRootManager"
version=
"2"
languageLevel=
"JDK_1_8"
project-jdk-name=
"
JDK
"
project-jdk-type=
"JavaSDK"
>
<component
name=
"ProjectRootManager"
version=
"2"
languageLevel=
"JDK_1_8"
project-jdk-name=
"
1.8
"
project-jdk-type=
"JavaSDK"
>
<output
url=
"file://$PROJECT_DIR$/build/classes"
/>
<output
url=
"file://$PROJECT_DIR$/build/classes"
/>
</component>
</component>
<component
name=
"ProjectType"
>
<component
name=
"ProjectType"
>
...
...
app/src/main/AndroidManifest.xml
View file @
bce8ab35
...
@@ -20,7 +20,8 @@
...
@@ -20,7 +20,8 @@
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=
".ForgotPasswordActivity"
></activity>
<activity
android:name=
".ForgotPasswordActivity"
android:windowSoftInputMode=
"adjustResize"
></activity>
<activity
android:name=
".RegisterActivity"
/>
<activity
android:name=
".RegisterActivity"
/>
<activity
android:name=
".TransactionActivity"
/>
<activity
android:name=
".TransactionActivity"
/>
<activity
<activity
...
...
app/src/main/java/com/yono/messeripos/ForgotCode.java
0 → 100644
View file @
bce8ab35
package
com
.
yono
.
messeripos
;
import
android.app.Dialog
;
import
android.app.ProgressDialog
;
import
android.content.Context
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.RelativeLayout
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
com.google.android.material.bottomsheet.BottomSheetBehavior
;
import
com.google.android.material.bottomsheet.BottomSheetDialog
;
import
com.google.android.material.bottomsheet.BottomSheetDialogFragment
;
import
com.yono.messeripos.utils.Utils
;
public
class
ForgotCode
extends
BottomSheetDialogFragment
{
Utils
utils
;
BottomSheetBehavior
sheetBehavior
;
BottomSheetDialog
sheetDialog
;
RelativeLayout
fpCode
;
View
view
;
Context
context
;
public
ForgotCode
(
Context
c
)
{
context
=
c
;
}
@NonNull
@Override
public
Dialog
onCreateDialog
(
@Nullable
Bundle
savedInstanceState
)
{
sheetDialog
=
(
BottomSheetDialog
)
super
.
onCreateDialog
(
savedInstanceState
);
// inflating layout
view
=
View
.
inflate
(
getContext
(),
R
.
layout
.
forgot_password_code
,
null
);
// bindUI
fpCode
=
view
.
findViewById
(
R
.
id
.
fpCode
);
// utils
utils
=
new
Utils
();
sheetDialog
.
setContentView
(
view
);
sheetBehavior
=
BottomSheetBehavior
.
from
((
View
)
(
view
.
getParent
()));
// get Window size
int
setHeight
=
utils
.
getWindowHeight
()
-
(
utils
.
getWindowHeight
()
*
5
)
/
100
;
// set max height
sheetBehavior
.
setPeekHeight
(
setHeight
);
fpCode
.
setMinimumHeight
(
setHeight
);
return
sheetDialog
;
}
}
app/src/main/java/com/yono/messeripos/ForgotPasswordActivity.java
View file @
bce8ab35
package
com
.
yono
.
messeripos
;
package
com
.
yono
.
messeripos
;
import
androidx.appcompat.app.AppCompatActivity
;
import
androidx.appcompat.app.AppCompatActivity
;
import
androidx.fragment.app.FragmentManager
;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.view.View
;
import
android.widget.ImageButton
;
public
class
ForgotPasswordActivity
extends
AppCompatActivity
{
public
class
ForgotPasswordActivity
extends
AppCompatActivity
{
ImageButton
btnReset
;
ForgotCode
forgotCode
;
@Override
@Override
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
protected
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
super
.
onCreate
(
savedInstanceState
);
setContentView
(
R
.
layout
.
activity_forgot_password
);
setContentView
(
R
.
layout
.
activity_forgot_password
);
btnReset
=
findViewById
(
R
.
id
.
btn_reset_password
);
btnReset
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
view
)
{
forgotCode
=
new
ForgotCode
(
ForgotPasswordActivity
.
this
);
forgotCode
.
show
(
getSupportFragmentManager
(),
"forgot code"
);
}
});
}
}
}
}
\ No newline at end of file
app/src/main/java/com/yono/messeripos/FormProductActivity.java
View file @
bce8ab35
...
@@ -196,7 +196,8 @@ public class FormProductActivity extends AppCompatActivity {
...
@@ -196,7 +196,8 @@ public class FormProductActivity extends AppCompatActivity {
if
(
productModelsIntent
==
null
){
if
(
productModelsIntent
==
null
){
str
.
add
(
"SELECT CATEGORY"
);
str
.
add
(
"SELECT CATEGORY"
);
}
else
{
}
else
{
getCategoryById
(
productModelsIntent
.
getIdProduct
());
Log
.
i
(
"Category_Product"
,
"setSpinner: "
+
productModelsIntent
.
getCategoryProduct
());
getCategoryById
(
productModelsIntent
.
getCategoryProduct
());
categorySelect
.
add
(
0
,
productModelsIntent
.
getCategoryProduct
());
categorySelect
.
add
(
0
,
productModelsIntent
.
getCategoryProduct
());
}
}
// str.add("SELECT CATEGORY");
// str.add("SELECT CATEGORY");
...
@@ -229,6 +230,7 @@ public class FormProductActivity extends AppCompatActivity {
...
@@ -229,6 +230,7 @@ public class FormProductActivity extends AppCompatActivity {
productModelsSave
.
setPriceProduct
(
Integer
.
parseInt
(
binding
.
etPrice
.
getText
().
toString
()));
productModelsSave
.
setPriceProduct
(
Integer
.
parseInt
(
binding
.
etPrice
.
getText
().
toString
()));
productModelsSave
.
setStockProduct
(
Integer
.
parseInt
(
binding
.
etStock
.
getText
().
toString
()));
productModelsSave
.
setStockProduct
(
Integer
.
parseInt
(
binding
.
etStock
.
getText
().
toString
()));
productModelsSave
.
setCategoryProduct
(
categorySelect
.
get
(
0
));
productModelsSave
.
setCategoryProduct
(
categorySelect
.
get
(
0
));
if
(
productModelsIntent
==
null
){
if
(
productModelsIntent
==
null
){
productModelsSave
.
setImageProduct
(
productModels
.
getImageProduct
());
productModelsSave
.
setImageProduct
(
productModels
.
getImageProduct
());
}
else
{
}
else
{
...
@@ -251,11 +253,13 @@ public class FormProductActivity extends AppCompatActivity {
...
@@ -251,11 +253,13 @@ public class FormProductActivity extends AppCompatActivity {
progressDialog
.
setCancelable
(
false
);
progressDialog
.
setCancelable
(
false
);
progressDialog
.
show
();
progressDialog
.
show
();
ProductService
productService
=
client
.
Client
(
ProductService
.
class
);
ProductService
productService
=
client
.
Client
(
ProductService
.
class
);
Log
.
i
(
"data_post"
,
"saveProduct: "
+
utils
.
convertGson
(
productModelsSave
));
Log
.
i
(
"data_post"
,
"saveProduct: "
+
utils
.
convertGson
(
productModelsIntent
.
getIdProduct
()));
productModelsSave
.
setIdProduct
(
productModelsIntent
.
getIdProduct
());
Log
.
i
(
"data_post+intent"
,
"saveProduct: "
+
utils
.
convertGson
(
productModelsSave
.
getIdProduct
()));
productService
.
updateProduct
(
productModelsSave
,
productModelsIntent
.
getIdProduct
()).
enqueue
(
new
Callback
<
DataResponse
<
ProductModels
>>()
{
productService
.
updateProduct
(
productModelsSave
,
productModelsIntent
.
getIdProduct
()).
enqueue
(
new
Callback
<
DataResponse
<
ProductModels
>>()
{
@Override
@Override
public
void
onResponse
(
Call
<
DataResponse
<
ProductModels
>>
call
,
Response
<
DataResponse
<
ProductModels
>>
response
)
{
public
void
onResponse
(
Call
<
DataResponse
<
ProductModels
>>
call
,
Response
<
DataResponse
<
ProductModels
>>
response
)
{
Log
.
i
(
"
Success Post"
,
"onResponse: "
+
utils
.
convertGson
(
response
));
Log
.
i
(
"
CodeUpdate"
,
"onResponse: "
+
utils
.
convertGson
(
response
.
body
()
));
if
(
response
.
body
()
!=
null
){
if
(
response
.
body
()
!=
null
){
new
AlertDialog
.
Builder
(
FormProductActivity
.
this
)
new
AlertDialog
.
Builder
(
FormProductActivity
.
this
)
.
setCancelable
(
false
)
.
setCancelable
(
false
)
...
@@ -363,8 +367,11 @@ public class FormProductActivity extends AppCompatActivity {
...
@@ -363,8 +367,11 @@ public class FormProductActivity extends AppCompatActivity {
categoryServise
.
getCategoryId
(
s
).
enqueue
(
new
Callback
<
DataResponse
<
CategoryModels
>>()
{
categoryServise
.
getCategoryId
(
s
).
enqueue
(
new
Callback
<
DataResponse
<
CategoryModels
>>()
{
@Override
@Override
public
void
onResponse
(
Call
<
DataResponse
<
CategoryModels
>>
call
,
Response
<
DataResponse
<
CategoryModels
>>
response
)
{
public
void
onResponse
(
Call
<
DataResponse
<
CategoryModels
>>
call
,
Response
<
DataResponse
<
CategoryModels
>>
response
)
{
Log
.
i
(
"ER"
,
"onResponse: "
+
utils
.
convertGson
(
response
.
body
()));
if
(
response
.
body
()
!=
null
){
str
.
add
(
response
.
body
().
getData
().
getNameCategory
());
str
.
add
(
response
.
body
().
getData
().
getNameCategory
());
}
else
{
str
.
add
(
"SELECT CATEGORY"
);
}
}
}
@Override
@Override
...
...
app/src/main/java/com/yono/messeripos/LoginState.java
View file @
bce8ab35
...
@@ -32,6 +32,7 @@ import com.google.android.material.button.MaterialButton;
...
@@ -32,6 +32,7 @@ import com.google.android.material.button.MaterialButton;
import
com.google.android.material.dialog.MaterialAlertDialogBuilder
;
import
com.google.android.material.dialog.MaterialAlertDialogBuilder
;
import
com.google.android.material.snackbar.Snackbar
;
import
com.google.android.material.snackbar.Snackbar
;
import
com.google.android.material.textfield.TextInputEditText
;
import
com.google.android.material.textfield.TextInputEditText
;
import
com.google.android.material.textview.MaterialTextView
;
import
com.yono.messeripos.models.CategoryModels
;
import
com.yono.messeripos.models.CategoryModels
;
import
com.yono.messeripos.models.MainViewModels
;
import
com.yono.messeripos.models.MainViewModels
;
import
com.yono.messeripos.models.UsersModels
;
import
com.yono.messeripos.models.UsersModels
;
...
@@ -55,6 +56,7 @@ public class LoginState extends BottomSheetDialogFragment {
...
@@ -55,6 +56,7 @@ public class LoginState extends BottomSheetDialogFragment {
ProgressBar
bar
;
ProgressBar
bar
;
View
view
;
View
view
;
ProgressDialog
dialog
;
ProgressDialog
dialog
;
MaterialTextView
forgot
;
public
LoginState
(
Context
context
,
MainViewModels
mainViewModels
)
{
public
LoginState
(
Context
context
,
MainViewModels
mainViewModels
)
{
this
.
context
=
context
;
this
.
context
=
context
;
...
@@ -79,6 +81,15 @@ public class LoginState extends BottomSheetDialogFragment {
...
@@ -79,6 +81,15 @@ public class LoginState extends BottomSheetDialogFragment {
loginButton
=
view
.
findViewById
(
R
.
id
.
SignInButtonInLogin
);
loginButton
=
view
.
findViewById
(
R
.
id
.
SignInButtonInLogin
);
closeBtn
=
view
.
findViewById
(
R
.
id
.
closeBtnLogin
);
closeBtn
=
view
.
findViewById
(
R
.
id
.
closeBtnLogin
);
bar
=
view
.
findViewById
(
R
.
id
.
progressLogin
);
bar
=
view
.
findViewById
(
R
.
id
.
progressLogin
);
forgot
=
view
.
findViewById
(
R
.
id
.
forgotPwd
);
forgot
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
view
)
{
context
.
startActivity
(
new
Intent
(
context
,
ForgotPasswordActivity
.
class
));
getActivity
().
finish
();
}
});
// set progress bar gone
// set progress bar gone
bar
.
setVisibility
(
View
.
GONE
);
bar
.
setVisibility
(
View
.
GONE
);
...
@@ -108,6 +119,7 @@ public class LoginState extends BottomSheetDialogFragment {
...
@@ -108,6 +119,7 @@ public class LoginState extends BottomSheetDialogFragment {
sheetDialog
.
dismiss
();
sheetDialog
.
dismiss
();
});
});
return
sheetDialog
;
return
sheetDialog
;
}
}
...
...
app/src/main/java/com/yono/messeripos/RegisterState.java
View file @
bce8ab35
...
@@ -14,11 +14,13 @@ import android.text.TextWatcher;
...
@@ -14,11 +14,13 @@ import android.text.TextWatcher;
import
android.util.Log
;
import
android.util.Log
;
import
android.view.View
;
import
android.view.View
;
import
android.widget.ImageView
;
import
android.widget.ImageView
;
import
android.widget.ProgressBar
;
import
android.widget.RelativeLayout
;
import
android.widget.RelativeLayout
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.annotation.Nullable
;
import
androidx.lifecycle.LifecycleOwner
;
import
androidx.lifecycle.LifecycleOwner
;
import
androidx.lifecycle.Observer
;
import
com.google.android.material.bottomsheet.BottomSheetBehavior
;
import
com.google.android.material.bottomsheet.BottomSheetBehavior
;
import
com.google.android.material.bottomsheet.BottomSheetDialog
;
import
com.google.android.material.bottomsheet.BottomSheetDialog
;
...
@@ -43,6 +45,7 @@ import retrofit2.Response;
...
@@ -43,6 +45,7 @@ import retrofit2.Response;
public
class
RegisterState
extends
BottomSheetDialogFragment
{
public
class
RegisterState
extends
BottomSheetDialogFragment
{
private
static
final
String
TAG
=
"RegisterState"
;
private
static
final
String
TAG
=
"RegisterState"
;
private
static
String
DEFAULT_REGISTER
=
"CREATE ACCOUNT"
;
BottomSheetBehavior
sheetBehavior2
;
BottomSheetBehavior
sheetBehavior2
;
BottomSheetDialog
sheetDialog2
;
BottomSheetDialog
sheetDialog2
;
RelativeLayout
registerLayout
;
RelativeLayout
registerLayout
;
...
@@ -52,10 +55,9 @@ public class RegisterState extends BottomSheetDialogFragment {
...
@@ -52,10 +55,9 @@ public class RegisterState extends BottomSheetDialogFragment {
Context
context
;
Context
context
;
MainViewModels
mainViewModels
;
MainViewModels
mainViewModels
;
SharedPreferences
sharedPreferences
;
SharedPreferences
sharedPreferences
;
ProgressBar
pbReg
;
Utils
utils
;
Utils
utils
;
String
busername
,
bemail
,
bpassword
,
brepassword
;
public
RegisterState
(
Context
context
,
MainViewModels
mainViewModels
)
{
public
RegisterState
(
Context
context
,
MainViewModels
mainViewModels
)
{
this
.
context
=
context
;
this
.
context
=
context
;
this
.
mainViewModels
=
mainViewModels
;
this
.
mainViewModels
=
mainViewModels
;
...
@@ -78,6 +80,7 @@ public class RegisterState extends BottomSheetDialogFragment {
...
@@ -78,6 +80,7 @@ public class RegisterState extends BottomSheetDialogFragment {
repassword
=
view
.
findViewById
(
R
.
id
.
ETRePasswordReg
);
repassword
=
view
.
findViewById
(
R
.
id
.
ETRePasswordReg
);
registerButton
=
view
.
findViewById
(
R
.
id
.
MBRegister
);
registerButton
=
view
.
findViewById
(
R
.
id
.
MBRegister
);
closeBtn
=
view
.
findViewById
(
R
.
id
.
ivclose
);
closeBtn
=
view
.
findViewById
(
R
.
id
.
ivclose
);
pbReg
=
view
.
findViewById
(
R
.
id
.
progressReg
);
// create session
// create session
sharedPreferences
=
context
.
getSharedPreferences
(
SplashScreen
.
MY_SHARED_PREFERENCES
,
Context
.
MODE_PRIVATE
);
sharedPreferences
=
context
.
getSharedPreferences
(
SplashScreen
.
MY_SHARED_PREFERENCES
,
Context
.
MODE_PRIVATE
);
...
@@ -86,6 +89,7 @@ public class RegisterState extends BottomSheetDialogFragment {
...
@@ -86,6 +89,7 @@ public class RegisterState extends BottomSheetDialogFragment {
utils
=
new
Utils
();
utils
=
new
Utils
();
sheetDialog2
.
setContentView
(
view
);
sheetDialog2
.
setContentView
(
view
);
pbReg
.
setVisibility
(
View
.
GONE
);
sheetBehavior2
=
BottomSheetBehavior
.
from
((
View
)
(
view
.
getParent
()));
sheetBehavior2
=
BottomSheetBehavior
.
from
((
View
)
(
view
.
getParent
()));
...
@@ -159,21 +163,35 @@ public class RegisterState extends BottomSheetDialogFragment {
...
@@ -159,21 +163,35 @@ public class RegisterState extends BottomSheetDialogFragment {
}
}
});
});
final
LifecycleOwner
lifecycleOwner
=
this
;
registerButton
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
registerButton
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
@Override
public
void
onClick
(
View
view
)
{
public
void
onClick
(
View
view
)
{
mainViewModels
.
postRegis
(
new
UsersModels
(
username
.
getText
().
toString
(),
email
.
getText
().
toString
(),
password
.
getText
().
toString
(),
repassword
.
getText
().
toString
()));
mainViewModels
.
postRegis
(
/**
new
UsersModels
(
username
.
getText
().
toString
(),
* Jika tombol sign up ditekan
email
.
getText
().
toString
(),
password
.
getText
().
toString
(),
*
repassword
.
getText
().
toString
())).
observe
(
lifecycleOwner
,
new
Observer
<
DataResponse
<
UsersModels
>>()
{
* kembali ke halaman login utama dengan Snackbar Cek Email*/
@Override
Snackbar
mySnackbar
=
Snackbar
.
make
(
view
,
"Silahkan Cek Email Anda"
,
3000
);
public
void
onChanged
(
DataResponse
<
UsersModels
>
usersModelsDataResponse
)
{
setLayoutFalse
();
/**
mySnackbar
.
show
();
* RESPONSE AGAR ADA PROGRESS DIALOGNYA
* KETIKA RESPONNYA SUCCESS MAKA PROGRESS DIalog diSMISS
* DAN ALERT ACTIVATE MUNCUL
* */
setAllLayoutToFalse
();
if
(
usersModelsDataResponse
!=
null
)
{
final
View
customLayout
=
getLayoutInflater
()
.
inflate
(
R
.
layout
.
alert_dialog
,
null
);
activateEmail
(
customLayout
);
setAllLayoutToTrue
();
}
}
});
}
}
});
});
// close btn is clicked
// close btn is clicked
closeBtn
.
setOnClickListener
(
view12
->
{
closeBtn
.
setOnClickListener
(
view12
->
{
Log
.
d
(
TAG
,
"onCreateDialog: "
+
sheetBehavior2
.
getState
());
Log
.
d
(
TAG
,
"onCreateDialog: "
+
sheetBehavior2
.
getState
());
...
@@ -183,10 +201,31 @@ public class RegisterState extends BottomSheetDialogFragment {
...
@@ -183,10 +201,31 @@ public class RegisterState extends BottomSheetDialogFragment {
return
sheetDialog2
;
return
sheetDialog2
;
}
}
private
void
setLayoutFalse
()
{
private
void
setAllLayoutToTrue
()
{
pbReg
.
setVisibility
(
View
.
GONE
);
registerButton
.
setText
(
DEFAULT_REGISTER
);
sheetDialog2
.
setCancelable
(
true
);
username
.
setEnabled
(
true
);
email
.
setEnabled
(
true
);
password
.
setEnabled
(
true
);
repassword
.
setEnabled
(
true
);
registerButton
.
setEnabled
(
true
);
closeBtn
.
setEnabled
(
true
);
}
private
void
setAllLayoutToFalse
()
{
pbReg
.
setVisibility
(
View
.
VISIBLE
);
registerButton
.
setText
(
""
);
sheetDialog2
.
setCancelable
(
false
);
username
.
setEnabled
(
false
);
password
.
setEnabled
(
false
);
registerButton
.
setEnabled
(
false
);
registerButton
.
setEnabled
(
false
);
closeBtn
.
setEnabled
(
false
);
}
}
private
void
activateEmail
(
View
customLayout
)
{
private
void
activateEmail
(
View
customLayout
)
{
utils
=
new
Utils
(
customLayout
);
utils
=
new
Utils
(
customLayout
);
...
@@ -197,7 +236,10 @@ public class RegisterState extends BottomSheetDialogFragment {
...
@@ -197,7 +236,10 @@ public class RegisterState extends BottomSheetDialogFragment {
utils
.
setListener
(
new
Utils
.
DialogListener
()
{
utils
.
setListener
(
new
Utils
.
DialogListener
()
{
@Override
@Override
public
void
onClickDisimiss
(
AlertDialog
alertDialog
)
{
public
void
onClickDisimiss
(
AlertDialog
alertDialog
)
{
alertDialog
.
dismiss
();
alertDialog
.
dismiss
();
sheetDialog2
.
dismiss
();
}
}
@Override
@Override
...
@@ -210,5 +252,4 @@ public class RegisterState extends BottomSheetDialogFragment {
...
@@ -210,5 +252,4 @@ public class RegisterState extends BottomSheetDialogFragment {
}
}
});
});
}
}
}
}
app/src/main/java/com/yono/messeripos/adapter/PaymentAdapter.java
View file @
bce8ab35
...
@@ -2,6 +2,7 @@ package com.yono.messeripos.adapter;
...
@@ -2,6 +2,7 @@ package com.yono.messeripos.adapter;
import
android.annotation.SuppressLint
;
import
android.annotation.SuppressLint
;
import
android.content.Context
;
import
android.content.Context
;
import
android.nfc.NfcAdapter
;
import
android.util.Log
;
import
android.util.Log
;
import
android.view.LayoutInflater
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.View
;
...
@@ -30,6 +31,9 @@ public class PaymentAdapter extends RecyclerView.Adapter<PaymentAdapter.ViewHold
...
@@ -30,6 +31,9 @@ public class PaymentAdapter extends RecyclerView.Adapter<PaymentAdapter.ViewHold
private
ArrayList
<
PaymentResponse
>
paymentResponses
;
private
ArrayList
<
PaymentResponse
>
paymentResponses
;
Context
context
;
Context
context
;
int
getPosition
=
-
1
;
int
getPosition
=
-
1
;
NfcAdapter
nfcAdapter
;
public
interface
PaymentListener
{
public
interface
PaymentListener
{
void
onSelectPayment
(
PaymentResponse
paymentResponse
);
void
onSelectPayment
(
PaymentResponse
paymentResponse
);
...
@@ -41,9 +45,10 @@ public class PaymentAdapter extends RecyclerView.Adapter<PaymentAdapter.ViewHold
...
@@ -41,9 +45,10 @@ public class PaymentAdapter extends RecyclerView.Adapter<PaymentAdapter.ViewHold
this
.
listener
=
listener
;
this
.
listener
=
listener
;
}
}
public
PaymentAdapter
(
ArrayList
<
PaymentResponse
>
paymentResponses
,
PaymentActivity
mainActivity
)
{
public
PaymentAdapter
(
ArrayList
<
PaymentResponse
>
paymentResponses
,
Context
mainActivity
)
{
this
.
paymentResponses
=
paymentResponses
;
this
.
paymentResponses
=
paymentResponses
;
this
.
context
=
mainActivity
;
this
.
context
=
mainActivity
;
nfcAdapter
=
NfcAdapter
.
getDefaultAdapter
(
this
.
context
);
}
}
@NonNull
@NonNull
...
@@ -102,6 +107,13 @@ public class PaymentAdapter extends RecyclerView.Adapter<PaymentAdapter.ViewHold
...
@@ -102,6 +107,13 @@ public class PaymentAdapter extends RecyclerView.Adapter<PaymentAdapter.ViewHold
public
void
binData
(
PaymentResponse
paymentResponse
){
public
void
binData
(
PaymentResponse
paymentResponse
){
binding
.
setPayment
(
paymentResponse
);
binding
.
setPayment
(
paymentResponse
);
binding
.
setLogo
(
paymentResponse
.
getUrl
());
binding
.
setLogo
(
paymentResponse
.
getUrl
());
if
(
nfcAdapter
==
null
){
if
(
paymentResponse
.
getBank
()
==
"nfc"
){
binding
.
cvPayment
.
setVisibility
(
View
.
GONE
);
}
else
{
binding
.
cvPayment
.
setVisibility
(
View
.
VISIBLE
);
}
}
binding
.
cvPayment
.
setOnClickListener
(
view
->{
binding
.
cvPayment
.
setOnClickListener
(
view
->{
getPosition
=
getAdapterPosition
();
getPosition
=
getAdapterPosition
();
...
...
app/src/main/java/com/yono/messeripos/adapter/TransactionAdapter.java
View file @
bce8ab35
...
@@ -18,6 +18,7 @@ import com.yono.messeripos.models.PaymentsModels;
...
@@ -18,6 +18,7 @@ import com.yono.messeripos.models.PaymentsModels;
import
com.yono.messeripos.models.ProductCartModels
;
import
com.yono.messeripos.models.ProductCartModels
;
import
com.yono.messeripos.utils.Utils
;
import
com.yono.messeripos.utils.Utils
;
import
java.text.ParseException
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
public
class
TransactionAdapter
extends
RecyclerView
.
Adapter
<
TransactionAdapter
.
MyViewHolder
>
{
public
class
TransactionAdapter
extends
RecyclerView
.
Adapter
<
TransactionAdapter
.
MyViewHolder
>
{
...
@@ -58,7 +59,11 @@ public class TransactionAdapter extends RecyclerView.Adapter<TransactionAdapter.
...
@@ -58,7 +59,11 @@ public class TransactionAdapter extends RecyclerView.Adapter<TransactionAdapter.
@RequiresApi
(
api
=
Build
.
VERSION_CODES
.
O
)
@RequiresApi
(
api
=
Build
.
VERSION_CODES
.
O
)
@Override
@Override
public
void
onBindViewHolder
(
@NonNull
TransactionAdapter
.
MyViewHolder
holder
,
int
position
)
{
public
void
onBindViewHolder
(
@NonNull
TransactionAdapter
.
MyViewHolder
holder
,
int
position
)
{
holder
.
binData
(
paymentsModels
.
get
(
position
));
try
{
holder
.
binData
(
paymentsModels
.
get
(
position
));
}
catch
(
ParseException
e
)
{
e
.
printStackTrace
();
}
}
}
@Override
@Override
...
@@ -77,7 +82,7 @@ public class TransactionAdapter extends RecyclerView.Adapter<TransactionAdapter.
...
@@ -77,7 +82,7 @@ public class TransactionAdapter extends RecyclerView.Adapter<TransactionAdapter.
@SuppressLint
(
"ResourceAsColor"
)
@SuppressLint
(
"ResourceAsColor"
)
@RequiresApi
(
api
=
Build
.
VERSION_CODES
.
O
)
@RequiresApi
(
api
=
Build
.
VERSION_CODES
.
O
)
public
void
binData
(
PaymentsModels
paymentsModels
)
{
public
void
binData
(
PaymentsModels
paymentsModels
)
throws
ParseException
{
itemHistoryBinding
.
setTransaction
(
paymentsModels
);
itemHistoryBinding
.
setTransaction
(
paymentsModels
);
itemHistoryBinding
.
setDate
(
utils
.
convertDate
(
paymentsModels
.
getUpdatedAt
()));
itemHistoryBinding
.
setDate
(
utils
.
convertDate
(
paymentsModels
.
getUpdatedAt
()));
itemHistoryBinding
.
cvHistory
.
setOnClickListener
(
view
->
listener
.
onShowDetail
(
paymentsModels
));
itemHistoryBinding
.
cvHistory
.
setOnClickListener
(
view
->
listener
.
onShowDetail
(
paymentsModels
));
...
...
app/src/main/java/com/yono/messeripos/models/ProductModels.java
View file @
bce8ab35
...
@@ -39,12 +39,14 @@ public class ProductModels<T> implements Parcelable {
...
@@ -39,12 +39,14 @@ public class ProductModels<T> implements Parcelable {
@SerializedName
(
"category_id"
)
@SerializedName
(
"category_id"
)
private
int
categoryProduct
;
private
int
categoryProduct
;
protected
ProductModels
(
Parcel
in
)
{
protected
ProductModels
(
Parcel
in
)
{
idProduct
=
in
.
readInt
();
idProduct
=
in
.
readInt
();
productName
=
in
.
readString
();
productName
=
in
.
readString
();
priceProduct
=
in
.
readInt
();
priceProduct
=
in
.
readInt
();
stockProduct
=
in
.
readInt
();
stockProduct
=
in
.
readInt
();
imageProduct
=
in
.
readString
();
imageProduct
=
in
.
readString
();
categoryProduct
=
in
.
readInt
();
}
}
public
static
final
Creator
<
ProductModels
>
CREATOR
=
new
Creator
<
ProductModels
>()
{
public
static
final
Creator
<
ProductModels
>
CREATOR
=
new
Creator
<
ProductModels
>()
{
...
@@ -141,6 +143,7 @@ public class ProductModels<T> implements Parcelable {
...
@@ -141,6 +143,7 @@ public class ProductModels<T> implements Parcelable {
}
}
}
}
@Override
@Override
public
int
describeContents
()
{
public
int
describeContents
()
{
return
0
;
return
0
;
...
@@ -153,5 +156,6 @@ public class ProductModels<T> implements Parcelable {
...
@@ -153,5 +156,6 @@ public class ProductModels<T> implements Parcelable {
parcel
.
writeInt
(
priceProduct
);
parcel
.
writeInt
(
priceProduct
);
parcel
.
writeInt
(
stockProduct
);
parcel
.
writeInt
(
stockProduct
);
parcel
.
writeString
(
imageProduct
);
parcel
.
writeString
(
imageProduct
);
parcel
.
writeInt
(
categoryProduct
);
}
}
}
}
app/src/main/java/com/yono/messeripos/transactiontab/TransactionSuccess.java
View file @
bce8ab35
...
@@ -71,6 +71,13 @@ public class TransactionSuccess extends Fragment {
...
@@ -71,6 +71,13 @@ public class TransactionSuccess extends Fragment {
}
}
});
});
transactionAdapter
.
setListener
(
new
TransactionAdapter
.
TransactionListener
()
{
@Override
public
void
onShowDetail
(
PaymentsModels
paymentsModels
)
{
}
});
return
v
;
return
v
;
}
}
...
...
app/src/main/java/com/yono/messeripos/utils/Utils.java
View file @
bce8ab35
...
@@ -27,12 +27,14 @@ import com.yono.messeripos.models.CategoryModels;
...
@@ -27,12 +27,14 @@ import com.yono.messeripos.models.CategoryModels;
import
java.io.ByteArrayOutputStream
;
import
java.io.ByteArrayOutputStream
;
import
java.text.DecimalFormat
;
import
java.text.DecimalFormat
;
import
java.text.DecimalFormatSymbols
;
import
java.text.DecimalFormatSymbols
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.text.SimpleDateFormat
;
import
java.time.LocalDateTime
;
import
java.time.LocalDateTime
;
import
java.time.ZoneId
;
import
java.time.ZoneId
;
import
java.time.format.DateTimeFormatter
;
import
java.time.format.DateTimeFormatter
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.Locale
;
import
java.util.Locale
;
import
java.util.TimeZone
;
import
java.util.regex.Matcher
;
import
java.util.regex.Matcher
;
import
java.util.regex.Pattern
;
import
java.util.regex.Pattern
;
...
@@ -101,18 +103,25 @@ public class Utils {
...
@@ -101,18 +103,25 @@ public class Utils {
}
}
@RequiresApi
(
api
=
Build
.
VERSION_CODES
.
O
)
@RequiresApi
(
api
=
Build
.
VERSION_CODES
.
O
)
public
String
convertDate
(
String
date
){
public
String
convertDate
(
String
date
)
throws
ParseException
{
DateTimeFormatter
dateTimeFormatter
=
// DateTimeFormatter dateTimeFormatter =
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd'T'HH:mm:ss.SSSSSS'Z'"
)
// DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSSSS'Z'")
.
withZone
(
ZoneId
.
of
(
"UTC"
));
// .withZone(ZoneId.of("UTC"));
//
LocalDateTime
localDateTime
=
LocalDateTime
// LocalDateTime localDateTime = LocalDateTime
.
parse
(
date
,
dateTimeFormatter
);
// .parse(date, dateTimeFormatter);
//
DateTimeFormatter
localFormatter
=
DateTimeFormatter
// DateTimeFormatter localFormatter = DateTimeFormatter
.
ofPattern
(
"EEEE, dd MM yyyy"
,
new
Locale
(
"id"
,
"ID"
));
// .ofPattern("EEEE, dd MM yyyy", new Locale("id", "ID"));
String
localDate
=
localDateTime
.
format
(
localFormatter
);
// String localDate = localDateTime.format(localFormatter);
return
localDate
;
SimpleDateFormat
sdf
=
new
SimpleDateFormat
(
"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
);
sdf
.
setTimeZone
(
TimeZone
.
getTimeZone
(
"UTC"
));
Date
tanggal
=
sdf
.
parse
(
date
);
SimpleDateFormat
outputFormat
=
new
SimpleDateFormat
(
"EEEE, dd MM yyyy "
,
Locale
.
ENGLISH
);
outputFormat
.
setTimeZone
(
TimeZone
.
getTimeZone
(
"Asia/Jakarta"
));
return
outputFormat
.
format
(
tanggal
);
}
}
public
String
convertImageBase64File
(
String
pathname
){
public
String
convertImageBase64File
(
String
pathname
){
...
@@ -123,7 +132,6 @@ public class Utils {
...
@@ -123,7 +132,6 @@ public class Utils {
// options.inSampleSize = 3;
// options.inSampleSize = 3;
// options.inSampleSize = calculateInSampleSize(options, 20,20);
// options.inSampleSize = calculateInSampleSize(options, 20,20);
Bitmap
bitmap
=
BitmapFactory
.
decodeFile
(
pathname
);
Bitmap
bitmap
=
BitmapFactory
.
decodeFile
(
pathname
);
bitmap
.
compress
(
Bitmap
.
CompressFormat
.
JPEG
,
20
,
baos
);
bitmap
.
compress
(
Bitmap
.
CompressFormat
.
JPEG
,
20
,
baos
);
byte
[]
b
=
baos
.
toByteArray
();
byte
[]
b
=
baos
.
toByteArray
();
...
@@ -147,7 +155,7 @@ public class Utils {
...
@@ -147,7 +155,7 @@ public class Utils {
options
.
inSampleSize
=
calculateInSampleSize
(
options
,
500
,
500
);
options
.
inSampleSize
=
calculateInSampleSize
(
options
,
500
,
500
);
Bitmap
bitmap
=
BitmapFactory
.
decodeResource
(
resource
,
id
,
options
);
Bitmap
bitmap
=
BitmapFactory
.
decodeResource
(
resource
,
id
,
options
);
bitmap
.
compress
(
Bitmap
.
CompressFormat
.
JPEG
,
5
0
,
baos
);
bitmap
.
compress
(
Bitmap
.
CompressFormat
.
JPEG
,
2
0
,
baos
);
String
encodeImage
=
Base64
.
encodeToString
(
b
,
Base64
.
DEFAULT
);
String
encodeImage
=
Base64
.
encodeToString
(
b
,
Base64
.
DEFAULT
);
Log
.
i
(
"Count_encode"
,
"convertImageBase64Resource: "
+
bitmap
.
getByteCount
());
Log
.
i
(
"Count_encode"
,
"convertImageBase64Resource: "
+
bitmap
.
getByteCount
());
return
encodeImage
;
return
encodeImage
;
...
...
app/src/main/res/drawable/ic_baseline_delete_24.xml
View file @
bce8ab35
<vector
android:height=
"24dp"
android:tint=
"#
FC151B
"
<vector
android:height=
"24dp"
android:tint=
"#
fff
"
android:viewportHeight=
"24"
android:viewportWidth=
"24"
android:viewportHeight=
"24"
android:viewportWidth=
"24"
android:width=
"24dp"
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
android:width=
"24dp"
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<path
android:fillColor=
"@android:color/white"
android:pathData=
"M6,19c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2V7H6v12zM19,4h-3.5l-1,-1h-5l-1,1H5v2h14V4z"
/>
<path
android:fillColor=
"@android:color/white"
android:pathData=
"M6,19c0,1.1 0.9,2 2,2h8c1.1,0 2,-0.9 2,-2V7H6v12zM19,4h-3.5l-1,-1h-5l-1,1H5v2h14V4z"
/>
...
...
app/src/main/res/drawable/ic_baseline_edit_24.xml
View file @
bce8ab35
<vector
android:height=
"24dp"
android:tint=
"#
34C25B
"
<vector
android:height=
"24dp"
android:tint=
"#
fff
"
android:viewportHeight=
"24"
android:viewportWidth=
"24"
android:viewportHeight=
"24"
android:viewportWidth=
"24"
android:width=
"24dp"
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
android:width=
"24dp"
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<path
android:fillColor=
"@android:color/white"
android:pathData=
"M3,17.25V21h3.75L17.81,9.94l-3.75,-3.75L3,17.25zM20.71,7.04c0.39,-0.39 0.39,-1.02 0,-1.41l-2.34,-2.34c-0.39,-0.39 -1.02,-0.39 -1.41,0l-1.83,1.83 3.75,3.75 1.83,-1.83z"
/>
<path
android:fillColor=
"@android:color/white"
android:pathData=
"M3,17.25V21h3.75L17.81,9.94l-3.75,-3.75L3,17.25zM20.71,7.04c0.39,-0.39 0.39,-1.02 0,-1.41l-2.34,-2.34c-0.39,-0.39 -1.02,-0.39 -1.41,0l-1.83,1.83 3.75,3.75 1.83,-1.83z"
/>
...
...
app/src/main/res/layout/activity_detail_transaction.xml
0 → 100644
View file @
bce8ab35
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
>
<include
android:id=
"@+id/appbarDetail"
layout=
"@layout/app_bar"
/>
<com.google.android.material.card.MaterialCardView
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
app:layout_constraintTop_toBottomOf=
"@id/appbarDetail"
app:cardElevation=
"2dp"
android:layout_marginTop=
"5dp"
android:layout_marginBottom=
"5dp"
android:padding=
"10dp"
>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_height=
"wrap_content"
android:layout_width=
"match_parent"
android:layout_margin=
"10dp"
>
<TextView
android:id=
"@+id/jenisTransfer"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
android:text=
""
android:textColor=
"@android:color/black"
android:textSize=
"18sp"
tools:text=
"@tools:sample/full_names"
/>
<TextView
android:id=
"@+id/statusPayment"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
android:text=
""
android:textSize=
"12sp"
android:textColor=
"@android:color/black"
tools:text=
"@tools:sample/full_names"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</com.google.android.material.card.MaterialCardView>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
app/src/main/res/layout/activity_forgot_password.xml
View file @
bce8ab35
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
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=
"match_parent"
android:background=
"@
drawable/background_login
"
>
android:background=
"@
color/colorPrimary
"
>
<androidx.appcompat.widget.Toolbar
<androidx.appcompat.widget.Toolbar
android:id=
"@+id/toolbar"
android:id=
"@+id/toolbar"
...
@@ -53,7 +53,7 @@
...
@@ -53,7 +53,7 @@
android:layout_width=
"@dimen/logo_w_h"
android:layout_width=
"@dimen/logo_w_h"
android:layout_height=
"@dimen/logo_w_h"
android:layout_height=
"@dimen/logo_w_h"
android:layout_gravity=
"center_horizontal"
android:layout_gravity=
"center_horizontal"
android:src=
"@
mipmap/ic_launcher
"
/>
android:src=
"@
drawable/ic_messer_primary
"
/>
<TextView
<TextView
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
...
@@ -93,7 +93,7 @@
...
@@ -93,7 +93,7 @@
android:id=
"@+id/btn_reset_password"
android:id=
"@+id/btn_reset_password"
android:layout_marginTop=
"30dp"
android:layout_marginTop=
"30dp"
android:src=
"@drawable/ic_arrow_forward_black_24dp"
android:src=
"@drawable/ic_arrow_forward_black_24dp"
android:background=
"@
drawable/button_background
"
android:background=
"@
color/colorPrimary
"
android:layout_marginEnd=
"30dp"
/>
android:layout_marginEnd=
"30dp"
/>
...
@@ -113,7 +113,7 @@
...
@@ -113,7 +113,7 @@
android:layout_marginRight=
"40dp"
android:layout_marginRight=
"40dp"
android:layout_marginBottom=
"20dp"
android:layout_marginBottom=
"20dp"
android:id=
"@+id/btn_back"
android:id=
"@+id/btn_back"
android:background=
"@
drawable/button_background
"
android:background=
"@
color/colorPrimary
"
android:text=
"@string/btn_back"
android:text=
"@string/btn_back"
android:textColor=
"@android:color/white"
/>
android:textColor=
"@android:color/white"
/>
...
...
app/src/main/res/layout/forgot_password_code.xml
View file @
bce8ab35
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
<layout
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: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"
android:padding=
"16dp"
>
<EditText
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width=
"wrap_content"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_height=
"wrap_content"
android:layout_height=
"match_parent"
android:id=
"@+id/edit_text_1"
android:layout_width=
"match_parent"
>
android:inputType=
"number"
android:maxLength=
"1"
android:maxLines=
"1"
android:gravity=
"center"
android:padding=
"20dp"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintEnd_toStartOf=
"@id/edit_text_2"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
tools:ignore=
"Autofill,LabelFor"
/>
<EditText
<RelativeLayout
android:layout_width=
"wrap_content"
android:id=
"@+id/fpCode"
android:layout_height=
"wrap_content"
android:layout_width=
"match_parent"
android:id=
"@+id/edit_text_2"
android:layout_height=
"match_parent"
android:inputType=
"number"
android:padding=
"16dp"
>
android:maxLength=
"1"
android:maxLines=
"1"
android:gravity=
"center"
android:padding=
"20dp"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintEnd_toStartOf=
"@id/edit_text_3"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintStart_toEndOf=
"@id/edit_text_1"
tools:ignore=
"Autofill,LabelFor"
/>
<EditText
<androidx.cardview.widget.CardView
android:layout_width=
"wrap_content"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:id=
"@+id/edit_text_3"
android:layout_centerInParent=
"true"
>
android:inputType=
"number"
android:maxLength=
"1"
android:maxLines=
"1"
android:gravity=
"center"
android:padding=
"20dp"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintEnd_toStartOf=
"@id/edit_text_4"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintStart_toEndOf=
"@id/edit_text_2"
tools:ignore=
"Autofill,LabelFor"
/>
<EditText
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width=
"wrap_content"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
>
android:id=
"@+id/edit_text_4"
android:inputType=
"number"
android:maxLength=
"1"
android:maxLines=
"1"
android:gravity=
"center"
android:padding=
"20dp"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintStart_toEndOf=
"@id/edit_text_3"
tools:ignore=
"Autofill,LabelFor"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
<EditText
\ No newline at end of file
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:id=
"@+id/edit_text_1"
android:inputType=
"number"
android:maxLength=
"1"
android:maxLines=
"1"
android:gravity=
"center"
android:padding=
"20dp"
android:nextFocusRight=
"@id/edit_text_2"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintEnd_toStartOf=
"@id/edit_text_2"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
tools:ignore=
"Autofill,LabelFor"
/>
<EditText
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:id=
"@+id/edit_text_2"
android:inputType=
"number"
android:maxLength=
"1"
android:maxLines=
"1"
android:gravity=
"center"
android:nextFocusRight=
"@id/edit_text_3"
android:padding=
"20dp"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintEnd_toStartOf=
"@id/edit_text_3"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintStart_toEndOf=
"@id/edit_text_1"
tools:ignore=
"Autofill,LabelFor"
/>
<EditText
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:id=
"@+id/edit_text_3"
android:inputType=
"number"
android:maxLength=
"1"
android:maxLines=
"1"
android:gravity=
"center"
android:padding=
"20dp"
android:nextFocusRight=
"@id/edit_text_4"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintEnd_toStartOf=
"@id/edit_text_4"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintStart_toEndOf=
"@id/edit_text_2"
tools:ignore=
"Autofill,LabelFor"
/>
<EditText
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:id=
"@+id/edit_text_4"
android:inputType=
"number"
android:maxLength=
"1"
android:maxLines=
"1"
android:gravity=
"center"
android:padding=
"20dp"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintStart_toEndOf=
"@id/edit_text_3"
tools:ignore=
"Autofill,LabelFor"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.cardview.widget.CardView>
</RelativeLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</layout>
\ No newline at end of file
app/src/main/res/layout/form_product.xml
View file @
bce8ab35
...
@@ -23,7 +23,7 @@
...
@@ -23,7 +23,7 @@
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:elevation=
"0dp"
android:elevation=
"0dp"
android:paddingTop=
"20dp"
android:paddingTop=
"20dp"
android:background=
"@
drawable/gradient
"
android:background=
"@
color/colorPrimary
"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
...
...
app/src/main/res/layout/item_category.xml
View file @
bce8ab35
...
@@ -56,31 +56,33 @@
...
@@ -56,31 +56,33 @@
</RelativeLayout>
</RelativeLayout>
</com.google.android.material.card.MaterialCardView>
</com.google.android.material.card.MaterialCardView>
<
com.google.android.material.button.Material
Button
<
Image
Button
android:id=
"@+id/categoryDelete"
android:id=
"@+id/categoryDelete"
android:layout_width=
"0dp"
android:layout_width=
"0dp"
android:layout_height=
"40dp"
android:layout_height=
"40dp"
android:backgroundTint=
"@android:color/holo_red_dark"
android:src=
"@drawable/ic_baseline_delete_24"
android:text=
"DELETE"
android:textAlignment=
"textStart"
android:textAlignment=
"textStart"
android:textSize=
"10sp"
android:textSize=
"10sp"
android:layout_marginEnd=
"2dp"
android:backgroundTint=
"#E53B3B"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/cvCategory"
app:layout_constraintTop_toBottomOf=
"@id/cvCategory"
app:layout_constraint
Vertical_bias=
"0.0"
/>
app:layout_constraint
End_toStartOf=
"@id/categoryUpdate"
/>
<
com.google.android.material.button.Material
Button
<
Image
Button
android:id=
"@+id/categoryUpdate"
android:id=
"@+id/categoryUpdate"
android:layout_width=
"0dp"
android:layout_width=
"0dp"
android:layout_height=
"40dp"
android:layout_height=
"40dp"
android:backgroundTint=
"@color/colorGreen"
android:src=
"@drawable/ic_baseline_edit_24"
android:text=
"UPDATE"
android:textAlignment=
"textEnd"
android:textAlignment=
"textEnd"
android:textSize=
"10sp"
android:textSize=
"10sp"
android:backgroundTint=
"#4CAF50"
android:layout_marginStart=
"2dp"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintBottom_toBottomOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@id/cvCategory"
app:layout_constraintTop_toBottomOf=
"@id/cvCategory"
app:layout_constraint
Vertical_bias=
"0.0
"
/>
app:layout_constraint
Start_toEndOf=
"@id/categoryDelete
"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
</layout>
...
...
app/src/main/res/layout/methode_payment.xml
0 → 100644
View file @
bce8ab35
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
>
<include
layout=
"@layout/app_bar"
android:id=
"@+id/appBarPaymentMethode"
/>
<com.google.android.material.card.MaterialCardView
android:id=
"@+id/cvPayment"
android:clickable=
"true"
android:focusable=
"true"
android:checkable=
"true"
android:layout_height=
"wrap_content"
android:layout_width=
"match_parent"
app:layout_constraintTop_toBottomOf=
"@id/appBarPaymentMethode"
app:strokeWidth=
"1dp"
app:strokeColor=
"@color/color_stroke"
>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:padding=
"15dp"
>
<ImageView
android:id=
"@+id/ivLogo"
android:layout_width=
"120dp"
android:layout_height=
"0dp"
android:src=
"@drawable/ic_bni_logo"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintBottom_toBottomOf=
"parent"
/>
<RadioButton
android:id=
"@+id/rbPayment"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:buttonTint=
"@color/colorPrimary"
android:enabled=
"false"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintBottom_toBottomOf=
"parent"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</com.google.android.material.card.MaterialCardView>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
app/src/main/res/layout/register_form.xml
View file @
bce8ab35
This diff is collapsed.
Click to expand it.
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