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
c2255c83
Commit
c2255c83
authored
Sep 04, 2020
by
Muhammad Suryono
Browse files
Options
Browse Files
Download
Plain Diff
Update
parents
aa299fb7
372a38b6
Show whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
345 additions
and
206 deletions
+345
-206
build.gradle
app/build.gradle
+8
-0
AndroidManifest.xml
app/src/main/AndroidManifest.xml
+3
-2
CartActivity.java
app/src/main/java/com/yono/messeripos/CartActivity.java
+0
-1
ForgotCode.java
app/src/main/java/com/yono/messeripos/ForgotCode.java
+40
-5
ForgotPassword.java
app/src/main/java/com/yono/messeripos/ForgotPassword.java
+97
-0
ForgotPasswordActivity.java
...main/java/com/yono/messeripos/ForgotPasswordActivity.java
+50
-2
LoginState.java
app/src/main/java/com/yono/messeripos/LoginState.java
+8
-10
RegisterState.java
app/src/main/java/com/yono/messeripos/RegisterState.java
+5
-9
UsersService.java
...in/java/com/yono/messeripos/api/service/UsersService.java
+3
-0
ForgotPasswordModels.java
...java/com/yono/messeripos/models/ForgotPasswordModels.java
+11
-0
Utils.java
app/src/main/java/com/yono/messeripos/utils/Utils.java
+24
-10
activity_forgot_password.xml
app/src/main/res/layout/activity_forgot_password.xml
+1
-1
alert_dialog.xml
app/src/main/res/layout/alert_dialog.xml
+1
-0
forgot_new_password.xml
app/src/main/res/layout/forgot_new_password.xml
+53
-67
forgot_password_code.xml
app/src/main/res/layout/forgot_password_code.xml
+41
-99
No files found.
app/build.gradle
View file @
c2255c83
...
@@ -63,4 +63,12 @@ dependencies {
...
@@ -63,4 +63,12 @@ dependencies {
implementation
'com.google.zxing:core:3.3.2'
implementation
'com.google.zxing:core:3.3.2'
implementation
'com.github.florent37:expansionpanel:1.2.4'
implementation
'com.github.florent37:expansionpanel:1.2.4'
implementation
(
'com.alimuzaffar.lib:pinentryedittext:1.3.10'
)
{
// Exclude is only needed if you already have
// any of the following as a dependency in your project.
exclude
group:
'com.android.support'
,
module:
'support-v4'
exclude
group:
'com.android.support'
,
module:
'appcompat-v7'
exclude
group:
'com.android.support'
,
module:
'support-v13'
}
}
}
\ No newline at end of file
app/src/main/AndroidManifest.xml
View file @
c2255c83
...
@@ -23,8 +23,9 @@
...
@@ -23,8 +23,9 @@
<activity
android:name=
".MethodePayment"
/>
<activity
android:name=
".MethodePayment"
/>
<activity
android:name=
".ScannerNfc"
/>
<activity
android:name=
".ScannerNfc"
/>
<activity
android:name=
".TransactionDetail"
/>
<activity
android:name=
".TransactionDetail"
/>
<activity
android:name=
".ForgotPasswordActivity"
<activity
android:windowSoftInputMode=
"adjustResize"
></activity>
android:name=
".ForgotPasswordActivity"
android:windowSoftInputMode=
"adjustResize|stateHidden"
/>
<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/CartActivity.java
View file @
c2255c83
...
@@ -173,7 +173,6 @@ public class CartActivity extends AppCompatActivity {
...
@@ -173,7 +173,6 @@ public class CartActivity extends AppCompatActivity {
}
else
{
}
else
{
utils
.
dialog
(
CartActivity
.
this
,
utils
.
dialog
(
CartActivity
.
this
,
true
,
true
,
getLayoutInflater
().
inflate
(
R
.
layout
.
alert_dialog
,
null
),
"Warning"
,
"Warning"
,
"Item stock does not meet"
).
show
();
"Item stock does not meet"
).
show
();
}
}
...
...
app/src/main/java/com/yono/messeripos/ForgotCode.java
View file @
c2255c83
...
@@ -5,29 +5,43 @@ import android.app.ProgressDialog;
...
@@ -5,29 +5,43 @@ import android.app.ProgressDialog;
import
android.content.Context
;
import
android.content.Context
;
import
android.content.Intent
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.os.Bundle
;
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
;
import
android.view.WindowManager
;
import
android.widget.RelativeLayout
;
import
android.widget.RelativeLayout
;
import
android.widget.Toast
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.NonNull
;
import
androidx.annotation.Nullable
;
import
androidx.annotation.Nullable
;
import
androidx.constraintlayout.widget.ConstraintLayout
;
import
com.alimuzaffar.lib.pin.PinEntryEditText
;
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
;
import
com.google.android.material.bottomsheet.BottomSheetDialogFragment
;
import
com.google.android.material.bottomsheet.BottomSheetDialogFragment
;
import
com.yono.messeripos.api.client.Client
;
import
com.yono.messeripos.api.service.UsersService
;
import
com.yono.messeripos.models.ForgotPasswordModels
;
import
com.yono.messeripos.models.MainViewModels
;
import
com.yono.messeripos.response.DataResponse
;
import
com.yono.messeripos.utils.Utils
;
import
com.yono.messeripos.utils.Utils
;
public
class
ForgotCode
extends
BottomSheetDialogFragment
{
public
class
ForgotCode
extends
BottomSheetDialogFragment
{
private
static
final
String
TAG
=
"FORGOT CODE"
;
Utils
utils
;
Utils
utils
;
BottomSheetBehavior
sheetBehavior
;
BottomSheetBehavior
sheetBehavior
;
BottomSheetDialog
sheetDialog
;
BottomSheetDialog
sheetDialog
;
RelativeLayout
fp
Code
;
RelativeLayout
fp
ass
;
View
view
;
View
view
;
PinEntryEditText
pinEntry
;
ForgotPasswordModels
forgotPasswordModels
;
Context
context
;
Context
context
;
public
ForgotCode
(
Context
c
)
{
public
ForgotCode
(
Context
context
,
ForgotPasswordModels
forgotPasswordModels
)
{
context
=
c
;
this
.
context
=
context
;
this
.
forgotPasswordModels
=
forgotPasswordModels
;
}
}
@NonNull
@NonNull
...
@@ -39,7 +53,7 @@ public class ForgotCode extends BottomSheetDialogFragment {
...
@@ -39,7 +53,7 @@ public class ForgotCode extends BottomSheetDialogFragment {
view
=
View
.
inflate
(
getContext
(),
R
.
layout
.
forgot_password_code
,
null
);
view
=
View
.
inflate
(
getContext
(),
R
.
layout
.
forgot_password_code
,
null
);
// bindUI
// bindUI
fp
Code
=
view
.
findViewById
(
R
.
id
.
fpCode
);
fp
ass
=
view
.
findViewById
(
R
.
id
.
fpasswd
);
// utils
// utils
utils
=
new
Utils
();
utils
=
new
Utils
();
...
@@ -53,7 +67,28 @@ public class ForgotCode extends BottomSheetDialogFragment {
...
@@ -53,7 +67,28 @@ public class ForgotCode extends BottomSheetDialogFragment {
// set max height
// set max height
sheetBehavior
.
setPeekHeight
(
setHeight
);
sheetBehavior
.
setPeekHeight
(
setHeight
);
fpCode
.
setMinimumHeight
(
setHeight
);
fpass
.
setMinimumHeight
(
setHeight
);
utils
=
new
Utils
();
// Log.d(TAG, "onCreateDialog: "+utils.convertGson(mainViewModels));
pinEntry
=
view
.
findViewById
(
R
.
id
.
txt_pin_entry
);
if
(
pinEntry
!=
null
)
{
pinEntry
.
setOnPinEnteredListener
(
new
PinEntryEditText
.
OnPinEnteredListener
()
{
@Override
public
void
onPinEntered
(
CharSequence
str
)
{
if
(
str
.
toString
().
equals
(
forgotPasswordModels
.
getMessage
()))
{
ForgotPassword
forgotPassword
=
new
ForgotPassword
(
context
,
forgotPasswordModels
);
forgotPassword
.
setCancelable
(
false
);
forgotPassword
.
show
(
getActivity
().
getSupportFragmentManager
(),
"Forgot Confirm"
);
}
else
{
Toast
.
makeText
(
context
,
"FAIL"
,
Toast
.
LENGTH_SHORT
).
show
();
pinEntry
.
setText
(
null
);
}
}
});
}
return
sheetDialog
;
return
sheetDialog
;
}
}
...
...
app/src/main/java/com/yono/messeripos/ForgotPassword.java
0 → 100644
View file @
c2255c83
package
com
.
yono
.
messeripos
;
import
android.app.AlertDialog
;
import
android.app.Dialog
;
import
android.content.Context
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.util.Log
;
import
android.view.View
;
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.google.android.material.button.MaterialButton
;
import
com.google.android.material.textfield.TextInputEditText
;
import
com.yono.messeripos.api.service.UsersService
;
import
com.yono.messeripos.models.ForgotPasswordModels
;
import
com.yono.messeripos.models.UsersModels
;
import
com.yono.messeripos.response.DataResponse
;
import
com.yono.messeripos.utils.Utils
;
import
retrofit2.Call
;
import
retrofit2.Callback
;
import
retrofit2.Response
;
public
class
ForgotPassword
extends
BottomSheetDialogFragment
{
BottomSheetDialog
sheetDialog
;
BottomSheetBehavior
sheetBehavior
;
View
view
;
RelativeLayout
resetPassUI
;
Utils
utils
=
new
Utils
();
TextInputEditText
newPass
,
etConfPass
;
MaterialButton
btnReset
;
Context
context
;
UsersService
usersService
;
ForgotPasswordModels
forgotPasswordModels
;
public
ForgotPassword
(
Context
context
,
ForgotPasswordModels
forgotPasswordModels
)
{
this
.
context
=
context
;
this
.
forgotPasswordModels
=
forgotPasswordModels
;
}
@NonNull
@Override
public
Dialog
onCreateDialog
(
@Nullable
Bundle
savedInstanceState
)
{
sheetDialog
=
(
BottomSheetDialog
)
super
.
onCreateDialog
(
savedInstanceState
);
// inflating layout
view
=
View
.
inflate
(
getContext
(),
R
.
layout
.
forgot_new_password
,
null
);
// bindUI
resetPassUI
=
view
.
findViewById
(
R
.
id
.
resetPassword
);
newPass
=
view
.
findViewById
(
R
.
id
.
etNewPassword
);
etConfPass
=
view
.
findViewById
(
R
.
id
.
etPasswordConfirmation
);
btnReset
=
view
.
findViewById
(
R
.
id
.
btnReset
);
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
);
resetPassUI
.
setMinimumHeight
(
setHeight
);
btnReset
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
view
)
{
String
newPas
=
newPass
.
getText
().
toString
();
String
conPass
=
etConfPass
.
getText
().
toString
();
forgotPasswordModels
.
setPassword
(
newPass
.
getText
().
toString
());
if
(
newPas
.
equals
(
conPass
))
{
sheetDialog
.
dismiss
();
usersService
.
resetPassword
(
forgotPasswordModels
);
startActivity
(
new
Intent
(
context
,
LoginActivity
.
class
));
getActivity
().
finish
();
}
else
{
utils
.
dialog
(
context
,
true
,
"password does't match"
,
"Your password not match!"
).
show
();
}
}
});
return
sheetDialog
;
}
}
app/src/main/java/com/yono/messeripos/ForgotPasswordActivity.java
View file @
c2255c83
...
@@ -3,26 +3,74 @@ package com.yono.messeripos;
...
@@ -3,26 +3,74 @@ package com.yono.messeripos;
import
androidx.appcompat.app.AppCompatActivity
;
import
androidx.appcompat.app.AppCompatActivity
;
import
androidx.fragment.app.FragmentManager
;
import
androidx.fragment.app.FragmentManager
;
import
android.os.Build
;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.util.Log
;
import
android.view.View
;
import
android.view.View
;
import
android.view.Window
;
import
android.view.WindowManager
;
import
android.widget.EditText
;
import
android.widget.ImageButton
;
import
android.widget.ImageButton
;
import
com.yono.messeripos.api.client.Client
;
import
com.yono.messeripos.api.service.UsersService
;
import
com.yono.messeripos.models.ForgotPasswordModels
;
import
com.yono.messeripos.models.MainViewModels
;
import
com.yono.messeripos.response.DataResponse
;
import
com.yono.messeripos.utils.Utils
;
import
retrofit2.Call
;
import
retrofit2.Callback
;
import
retrofit2.Response
;
public
class
ForgotPasswordActivity
extends
AppCompatActivity
{
public
class
ForgotPasswordActivity
extends
AppCompatActivity
{
ImageButton
btnReset
;
ImageButton
btnReset
;
ForgotCode
forgotCode
;
ForgotCode
forgotCode
;
ForgotPasswordModels
forgotPasswordModels
;
Utils
utils
=
new
Utils
();
Client
client
=
new
Client
();
UsersService
usersService
;
EditText
formForgot
;
@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
);
if
(
Build
.
VERSION
.
SDK_INT
>=
Build
.
VERSION_CODES
.
KITKAT
)
{
Window
w
=
getWindow
();
w
.
setFlags
(
WindowManager
.
LayoutParams
.
FLAG_LAYOUT_NO_LIMITS
,
WindowManager
.
LayoutParams
.
FLAG_LAYOUT_NO_LIMITS
);
}
forgotPasswordModels
=
new
ForgotPasswordModels
();
// bind UI
btnReset
=
findViewById
(
R
.
id
.
btn_reset_password
);
btnReset
=
findViewById
(
R
.
id
.
btn_reset_password
);
formForgot
=
findViewById
(
R
.
id
.
forgotEmail
);
btnReset
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
btnReset
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
@Override
public
void
onClick
(
View
view
)
{
public
void
onClick
(
View
view
)
{
forgotCode
=
new
ForgotCode
(
ForgotPasswordActivity
.
this
);
forgotPasswordModels
.
setEmail
(
formForgot
.
getText
().
toString
());
forgotPasswordModels
.
setMessage
(
utils
.
getRandomNumberString
());
usersService
=
client
.
Client
(
UsersService
.
class
);
usersService
.
postForgotPassword
(
forgotPasswordModels
).
enqueue
(
new
Callback
<
DataResponse
>()
{
@Override
public
void
onResponse
(
Call
<
DataResponse
>
call
,
Response
<
DataResponse
>
response
)
{
forgotCode
=
new
ForgotCode
(
ForgotPasswordActivity
.
this
,
forgotPasswordModels
);
forgotCode
.
setCancelable
(
false
);
forgotCode
.
show
(
getSupportFragmentManager
(),
"forgot code"
);
forgotCode
.
show
(
getSupportFragmentManager
(),
"forgot code"
);
}
}
@Override
public
void
onFailure
(
Call
<
DataResponse
>
call
,
Throwable
t
)
{
}
});
}
});
});
}
}
}
}
\ No newline at end of file
app/src/main/java/com/yono/messeripos/LoginState.java
View file @
c2255c83
...
@@ -144,19 +144,17 @@ public class LoginState extends BottomSheetDialogFragment {
...
@@ -144,19 +144,17 @@ public class LoginState extends BottomSheetDialogFragment {
.
observe
((
LifecycleOwner
)
context
,
usersModelsDataResponse
->
{
.
observe
((
LifecycleOwner
)
context
,
usersModelsDataResponse
->
{
if
(
usersModelsDataResponse
!=
null
)
{
if
(
usersModelsDataResponse
!=
null
)
{
final
View
customLayout
=
getLayoutInflater
()
.
inflate
(
R
.
layout
.
alert_dialog
,
null
);
switch
(
usersModelsDataResponse
.
getMessageData
().
toLowerCase
())
{
switch
(
usersModelsDataResponse
.
getMessageData
().
toLowerCase
())
{
case
"invalid username or password"
:
case
"invalid username or password"
:
setAllLayoutToTrue
();
setAllLayoutToTrue
();
errUserPass
(
customLayout
);
errUserPass
();
break
;
break
;
case
"please activate your email first"
:
case
"please activate your email first"
:
setAllLayoutToTrue
();
setAllLayoutToTrue
();
activateEmail
(
customLayout
);
activateEmail
();
default
:
default
:
break
;
break
;
...
@@ -206,10 +204,10 @@ public class LoginState extends BottomSheetDialogFragment {
...
@@ -206,10 +204,10 @@ public class LoginState extends BottomSheetDialogFragment {
closeBtn
.
setEnabled
(
false
);
closeBtn
.
setEnabled
(
false
);
}
}
private
void
activateEmail
(
View
customLayout
)
{
private
void
activateEmail
()
{
utils
=
new
Utils
(
customLayout
);
utils
=
new
Utils
();
utils
.
dialog
(
context
,
false
,
customLayout
,
"Please Verify Email"
,
utils
.
dialog
(
context
,
false
,
"Please Verify Email"
,
"Please verify your email before login"
,
"Please verify your email before login"
,
"close"
,
"verify"
)
"close"
,
"verify"
)
.
show
();
.
show
();
...
@@ -230,10 +228,10 @@ public class LoginState extends BottomSheetDialogFragment {
...
@@ -230,10 +228,10 @@ public class LoginState extends BottomSheetDialogFragment {
});
});
}
}
private
void
errUserPass
(
View
customLayout
)
{
private
void
errUserPass
()
{
utils
=
new
Utils
(
customLayout
);
utils
=
new
Utils
();
utils
.
dialog
(
context
,
false
,
customLayout
,
"Wrong Username or Password"
,
utils
.
dialog
(
context
,
false
,
"Wrong Username or Password"
,
"The username or password is incorrect. Please try again!"
,
"The username or password is incorrect. Please try again!"
,
"Try Again"
)
"Try Again"
)
.
show
();
.
show
();
...
...
app/src/main/java/com/yono/messeripos/RegisterState.java
View file @
c2255c83
...
@@ -180,10 +180,8 @@ public class RegisterState extends BottomSheetDialogFragment {
...
@@ -180,10 +180,8 @@ public class RegisterState extends BottomSheetDialogFragment {
* */
* */
setAllLayoutToFalse
();
setAllLayoutToFalse
();
if
(
usersModelsDataResponse
!=
null
)
{
if
(
usersModelsDataResponse
!=
null
)
{
final
View
customLayout
=
getLayoutInflater
()
.
inflate
(
R
.
layout
.
alert_dialog
,
null
);
activateEmail
(
customLayout
);
activateEmail
();
setAllLayoutToTrue
();
setAllLayoutToTrue
();
}
}
}
}
...
@@ -201,9 +199,7 @@ public class RegisterState extends BottomSheetDialogFragment {
...
@@ -201,9 +199,7 @@ public class RegisterState extends BottomSheetDialogFragment {
return
sheetDialog2
;
return
sheetDialog2
;
}
}
private
void
setAllLayoutToTrue
()
{
private
void
setAllLayoutToTrue
()
{
pbReg
.
setVisibility
(
View
.
GONE
);
pbReg
.
setVisibility
(
View
.
GONE
);
registerButton
.
setText
(
DEFAULT_REGISTER
);
registerButton
.
setText
(
DEFAULT_REGISTER
);
sheetDialog2
.
setCancelable
(
true
);
sheetDialog2
.
setCancelable
(
true
);
...
@@ -226,10 +222,10 @@ public class RegisterState extends BottomSheetDialogFragment {
...
@@ -226,10 +222,10 @@ public class RegisterState extends BottomSheetDialogFragment {
}
}
private
void
activateEmail
(
View
customLayout
)
{
private
void
activateEmail
()
{
utils
=
new
Utils
(
customLayout
);
utils
=
new
Utils
();
utils
.
dialog
(
context
,
false
,
customLayout
,
"Please Verifiy Email"
,
utils
.
dialog
(
context
,
false
,
"Please Verifiy Email"
,
"Please verify your email before login"
,
"Please verify your email before login"
,
"close"
,
"verify"
)
"close"
,
"verify"
)
.
show
();
.
show
();
...
...
app/src/main/java/com/yono/messeripos/api/service/UsersService.java
View file @
c2255c83
...
@@ -18,4 +18,7 @@ public interface UsersService {
...
@@ -18,4 +18,7 @@ public interface UsersService {
@POST
(
ApiHelper
.
VERSI_API_1
+
"forgot-password"
)
@POST
(
ApiHelper
.
VERSI_API_1
+
"forgot-password"
)
Call
<
DataResponse
>
postForgotPassword
(
@Body
ForgotPasswordModels
forgotPasswordModels
);
Call
<
DataResponse
>
postForgotPassword
(
@Body
ForgotPasswordModels
forgotPasswordModels
);
@POST
(
ApiHelper
.
VERSI_API_1
+
"reset-password"
)
Call
<
DataResponse
>
resetPassword
(
@Body
ForgotPasswordModels
forgotPasswordModels
);
}
}
app/src/main/java/com/yono/messeripos/models/ForgotPasswordModels.java
View file @
c2255c83
...
@@ -9,6 +9,9 @@ public class ForgotPasswordModels {
...
@@ -9,6 +9,9 @@ public class ForgotPasswordModels {
@SerializedName
(
"message"
)
@SerializedName
(
"message"
)
private
String
message
;
private
String
message
;
@SerializedName
(
"password"
)
private
String
password
;
public
ForgotPasswordModels
()
{
public
ForgotPasswordModels
()
{
}
}
...
@@ -32,4 +35,12 @@ public class ForgotPasswordModels {
...
@@ -32,4 +35,12 @@ public class ForgotPasswordModels {
public
void
setMessage
(
String
message
)
{
public
void
setMessage
(
String
message
)
{
this
.
message
=
message
;
this
.
message
=
message
;
}
}
public
String
getPassword
()
{
return
password
;
}
public
void
setPassword
(
String
password
)
{
this
.
password
=
password
;
}
}
}
app/src/main/java/com/yono/messeripos/utils/Utils.java
View file @
c2255c83
...
@@ -8,6 +8,7 @@ import android.graphics.BitmapFactory;
...
@@ -8,6 +8,7 @@ import android.graphics.BitmapFactory;
import
android.os.Build
;
import
android.os.Build
;
import
android.util.Base64
;
import
android.util.Base64
;
import
android.util.Log
;
import
android.util.Log
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.View
;
import
android.widget.TextView
;
import
android.widget.TextView
;
import
android.widget.Toast
;
import
android.widget.Toast
;
...
@@ -224,12 +225,13 @@ public class Utils {
...
@@ -224,12 +225,13 @@ public class Utils {
* Alert Dialog
* Alert Dialog
* @param context
* @param context
* @param cancelable
* @param cancelable
* @param view
* @return
* @return
*/
*/
public
AlertDialog
dialog
(
Context
context
,
Boolean
cancelable
,
View
view
)
{
public
AlertDialog
dialog
(
Context
context
,
Boolean
cancelable
)
{
CardView
btCard
=
view
.
findViewById
(
R
.
id
.
cvAlertOnClick
);
final
View
view
=
View
.
inflate
(
context
,
R
.
layout
.
alert_dialog
,
null
);
CardView
btnCard
=
view
.
findViewById
(
R
.
id
.
cvAlertOnClick
);
AlertDialog
.
Builder
builder
=
new
AlertDialog
.
Builder
(
context
)
AlertDialog
.
Builder
builder
=
new
AlertDialog
.
Builder
(
context
)
.
setCancelable
(
cancelable
)
.
setCancelable
(
cancelable
)
...
@@ -242,10 +244,14 @@ public class Utils {
...
@@ -242,10 +244,14 @@ public class Utils {
}
}
public
AlertDialog
dialog
(
Context
context
,
Boolean
cancelable
,
View
view
,
@Nullable
String
titles
)
{
public
AlertDialog
dialog
(
Context
context
,
Boolean
cancelable
,
@Nullable
String
titles
)
{
final
View
view
=
View
.
inflate
(
context
,
R
.
layout
.
alert_dialog
,
null
);
TextView
title
=
view
.
findViewById
(
R
.
id
.
alertTitles
);
TextView
title
=
view
.
findViewById
(
R
.
id
.
alertTitles
);
CardView
btCard
=
view
.
findViewById
(
R
.
id
.
cvAlertOnClick
);
CardView
bt
n
Card
=
view
.
findViewById
(
R
.
id
.
cvAlertOnClick
);
// set title and message
// set title and message
if
(
titles
!=
null
){
if
(
titles
!=
null
){
...
@@ -263,7 +269,12 @@ public class Utils {
...
@@ -263,7 +269,12 @@ public class Utils {
}
}
public
AlertDialog
dialog
(
Context
context
,
Boolean
cancelable
,
View
view
,
@Nullable
String
titles
,
@Nullable
String
messages
)
{
public
AlertDialog
dialog
(
Context
context
,
Boolean
cancelable
,
@Nullable
String
titles
,
@Nullable
String
messages
)
{
final
View
view
=
View
.
inflate
(
context
,
R
.
layout
.
alert_dialog
,
null
);
TextView
title
=
view
.
findViewById
(
R
.
id
.
alertTitles
);
TextView
title
=
view
.
findViewById
(
R
.
id
.
alertTitles
);
TextView
message
=
view
.
findViewById
(
R
.
id
.
alertBody
);
TextView
message
=
view
.
findViewById
(
R
.
id
.
alertBody
);
...
@@ -290,16 +301,18 @@ public class Utils {
...
@@ -290,16 +301,18 @@ public class Utils {
public
AlertDialog
dialog
(
Context
context
,
public
AlertDialog
dialog
(
Context
context
,
Boolean
cancelable
,
Boolean
cancelable
,
View
view
,
@Nullable
String
titles
,
@Nullable
String
titles
,
@Nullable
String
messages
,
@Nullable
String
messages
,
@Nullable
String
dismiss
)
{
@Nullable
String
dismiss
)
{
final
View
view
=
View
.
inflate
(
context
,
R
.
layout
.
alert_dialog
,
null
);
TextView
title
=
view
.
findViewById
(
R
.
id
.
alertTitles
);
TextView
title
=
view
.
findViewById
(
R
.
id
.
alertTitles
);
TextView
message
=
view
.
findViewById
(
R
.
id
.
alertBody
);
TextView
message
=
view
.
findViewById
(
R
.
id
.
alertBody
);
TextView
button2
=
view
.
findViewById
(
R
.
id
.
tvTextBtn2
);
TextView
button2
=
view
.
findViewById
(
R
.
id
.
tvTextBtn2
);
CardView
btnCard2
=
view
.
findViewById
(
R
.
id
.
cvAlertOnClick2
);
CardView
btnCard2
=
view
.
findViewById
(
R
.
id
.
cvAlertOnClick2
);
// set title and message
// set title and message
if
(
titles
!=
null
){
if
(
titles
!=
null
){
title
.
setText
(
titles
);
title
.
setText
(
titles
);
...
@@ -328,7 +341,6 @@ public class Utils {
...
@@ -328,7 +341,6 @@ public class Utils {
public
AlertDialog
dialog
(
Context
context
,
public
AlertDialog
dialog
(
Context
context
,
Boolean
cancelable
,
Boolean
cancelable
,
View
view
,
@Nullable
String
titles
,
@Nullable
String
titles
,
@Nullable
String
messages
,
@Nullable
String
messages
,
@Nullable
String
dismiss
,
@Nullable
String
dismiss
,
...
@@ -339,6 +351,8 @@ public class Utils {
...
@@ -339,6 +351,8 @@ public class Utils {
* Button2 untuk link
* Button2 untuk link
*/
*/
final
View
view
=
View
.
inflate
(
context
,
R
.
layout
.
alert_dialog
,
null
);
TextView
title
=
view
.
findViewById
(
R
.
id
.
alertTitles
);
TextView
title
=
view
.
findViewById
(
R
.
id
.
alertTitles
);
TextView
message
=
view
.
findViewById
(
R
.
id
.
alertBody
);
TextView
message
=
view
.
findViewById
(
R
.
id
.
alertBody
);
TextView
button
=
view
.
findViewById
(
R
.
id
.
tvTextBtn
);
TextView
button
=
view
.
findViewById
(
R
.
id
.
tvTextBtn
);
...
@@ -385,9 +399,9 @@ public class Utils {
...
@@ -385,9 +399,9 @@ public class Utils {
// It will generate 6 digit random Number.
// It will generate 6 digit random Number.
// from 0 to 999999
// from 0 to 999999
Random
rnd
=
new
Random
();
Random
rnd
=
new
Random
();
int
number
=
rnd
.
nextInt
(
9999
99
);
int
number
=
rnd
.
nextInt
(
9999
);
// this will convert any number sequence into 6 character.
// this will convert any number sequence into 6 character.
return
String
.
format
(
"%0
6
d"
,
number
);
return
String
.
format
(
"%0
4
d"
,
number
);
}
}
}
}
app/src/main/res/layout/activity_forgot_password.xml
View file @
c2255c83
...
@@ -77,7 +77,7 @@
...
@@ -77,7 +77,7 @@
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:drawableStart=
"@drawable/ic_mail_outline_black_24dp"
android:drawableStart=
"@drawable/ic_mail_outline_black_24dp"
android:layout_marginEnd=
"20dp"
android:layout_marginEnd=
"20dp"
android:id=
"@+id/
e
mail"
android:id=
"@+id/
forgotE
mail"
android:layout_marginStart=
"20dp"
android:layout_marginStart=
"20dp"
android:textSize=
"14sp"
android:textSize=
"14sp"
android:drawablePadding=
"10dp"
android:drawablePadding=
"10dp"
...
...
app/src/main/res/layout/alert_dialog.xml
View file @
c2255c83
...
@@ -21,6 +21,7 @@
...
@@ -21,6 +21,7 @@
<LinearLayout
<LinearLayout
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_height=
"match_parent"
android:paddingVertical=
"20dp"
android:orientation=
"vertical"
>
android:orientation=
"vertical"
>
<TextView
<TextView
...
...
app/src/main/res/layout/forgot_new_password.xml
View file @
c2255c83
<?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"
<androidx.coordinatorlayout.widget.CoordinatorLayout
xmlns:tools=
"http://schemas.android.com/tools"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_height=
"match_parent"
android:fitsSystemWindows=
"true
"
>
android:layout_width=
"match_parent
"
>
<com.google.android.material.textfield.TextInputLayout
<RelativeLayout
android:id=
"@+id/tfCurrentPassword"
android:id=
"@+id/resetPassword"
android:layout_width=
"match_parent"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_height=
"wrap_content"
android:layout_margin=
"10dp"
android:hint=
"Current Password"
android:textColor=
"#fff"
style=
"@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
tools:ignore=
"MissingConstraints"
>
<com.google.android.material.textfield.TextInputEditText
android:id=
"@+id/etCurrentPassword"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:inputType=
"textPassword"
android:layout_height=
"match_parent"
android:imeOptions=
"actionNext"
android:fitsSystemWindows=
"true"
>
android:layout_height=
"wrap_content"
/>
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.textfield.TextInputLayout
<com.google.android.material.textfield.TextInputLayout
...
@@ -34,8 +22,7 @@
...
@@ -34,8 +22,7 @@
android:layout_margin=
"10dp"
android:layout_margin=
"10dp"
android:hint=
"New Password"
android:hint=
"New Password"
android:textColor=
"#fff"
android:textColor=
"#fff"
style=
"@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
style=
"@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
>
app:layout_constraintTop_toBottomOf=
"@id/tfCurrentPassword"
>
<com.google.android.material.textfield.TextInputEditText
<com.google.android.material.textfield.TextInputEditText
android:id=
"@+id/etNewPassword"
android:id=
"@+id/etNewPassword"
...
@@ -54,8 +41,7 @@
...
@@ -54,8 +41,7 @@
android:layout_margin=
"10dp"
android:layout_margin=
"10dp"
android:hint=
"Password Confirmation"
android:hint=
"Password Confirmation"
android:textColor=
"#fff"
android:textColor=
"#fff"
app:layout_constraintTop_toBottomOf=
"@id/tfNewPassword"
android:layout_below=
"@id/tfNewPassword"
>
tools:layout_editor_absoluteX=
"10dp"
>
<com.google.android.material.textfield.TextInputEditText
<com.google.android.material.textfield.TextInputEditText
android:id=
"@+id/etPasswordConfirmation"
android:id=
"@+id/etPasswordConfirmation"
...
@@ -67,14 +53,14 @@
...
@@ -67,14 +53,14 @@
</com.google.android.material.textfield.TextInputLayout>
</com.google.android.material.textfield.TextInputLayout>
<com.google.android.material.button.MaterialButton
<com.google.android.material.button.MaterialButton
android:id=
"@+id/btnAdd
"
android:id=
"@+id/btnReset
"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_margin=
"10dp"
android:layout_margin=
"10dp"
android:text=
"@string/ad
d"
android:text=
"@string/btn_reset_passwor
d"
android:padding=
"16dp"
android:padding=
"16dp"
app:layout_constraintTop_toBottomOf=
"@id/tfPasswordConfirmation"
android:layout_below=
"@id/tfPasswordConfirmation"
/>
tools:ignore=
"MissingConstraints"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</RelativeLayout>
\ No newline at end of file
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</layout>
\ No newline at end of file
app/src/main/res/layout/forgot_password_code.xml
View file @
c2255c83
...
@@ -8,105 +8,47 @@
...
@@ -8,105 +8,47 @@
android:layout_width=
"match_parent"
>
android:layout_width=
"match_parent"
>
<RelativeLayout
<RelativeLayout
android:id=
"@+id/fp
Code
"
android:id=
"@+id/fp
asswd
"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:paddingHorizontal=
"70dp"
android:padding=
"16dp"
>
android:layout_marginTop=
"100dp"
android:layout_height=
"match_parent"
>
<androidx.cardview.widget.CardView
android:id=
"@+id/verifCode"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_centerInParent=
"true"
>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
>
<EditText
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"
android:singleLine=
"true"
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
<com.google.android.material.textview.MaterialTextView
android:id=
"@+id/insertCode"
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:id=
"@+id/edit_text_2"
android:text=
"Insert Code"
android:inputType=
"number"
android:textStyle=
"bold"
android:maxLength=
"1"
android:textSize=
"18sp"
android:maxLines=
"1"
android:layout_marginBottom=
"20dp"
android:gravity=
"center"
android:layout_alignParentTop=
"true"
android:nextFocusRight=
"@id/edit_text_3"
android:layout_centerHorizontal=
"true"
/>
android:padding=
"20dp"
app:layout_constraintTop_toTopOf=
"parent"
<com.alimuzaffar.lib.pin.PinEntryEditText
app:layout_constraintEnd_toStartOf=
"@id/edit_text_3"
android:id=
"@+id/txt_pin_entry"
app:layout_constraintBottom_toBottomOf=
"parent"
android:layout_width=
"match_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:layout_height=
"wrap_content"
android:id=
"@+id/edit_text_3"
android:cursorVisible=
"false"
android:digits=
"1234567890"
android:inputType=
"number"
android:inputType=
"number"
android:maxLength=
"1"
android:maxLength=
"4"
android:maxLines=
"1"
android:textIsSelectable=
"false"
android:gravity=
"center"
android:textSize=
"20sp"
android:padding=
"20dp"
android:layout_marginBottom=
"20dp"
android:nextFocusRight=
"@id/edit_text_4"
app:pinAnimationType=
"fromBottom"
app:layout_constraintTop_toTopOf=
"parent"
app:pinTextBottomPadding=
"20dp"
app:layout_constraintEnd_toStartOf=
"@id/edit_text_4"
android:layoutDirection=
"ltr"
app:layout_constraintBottom_toBottomOf=
"parent"
android:layout_below=
"@id/insertCode"
app:layout_constraintStart_toEndOf=
"@id/edit_text_2"
/>
tools:ignore=
"Autofill,LabelFor"
/>
<com.google.android.material.textview.MaterialTextView
<EditText
android:layout_width=
"wrap_content"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_height=
"wrap_content"
android:id=
"@+id/edit_text_4"
android:text=
"enter the code that has been sent to the email"
android:inputType=
"number"
android:layout_below=
"@id/txt_pin_entry"
android:maxLength=
"1"
android:layout_centerHorizontal=
"true"
/>
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>
<!-- <androidx.cardview.widget.CardView-->
<!-- android:layout_alignParentBottom="true"-->
<!-- android:layout_below="@id/verifCode"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content">-->
<!-- -->
<!-- <GridLayout-->
<!-- android:columnCount="3"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content">-->
<!-- -->
<!-- <com.google.android.material.button.MaterialButton-->
<!-- android:text="1"/>-->
<!-- -->
<!-- </GridLayout>-->
<!-- </androidx.cardview.widget.CardView>-->
</RelativeLayout>
</RelativeLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</layout>
</layout>
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment