Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
shunchaki
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
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
Shohboz Qoraboev
shunchaki
Commits
71518399
Commit
71518399
authored
Dec 09, 2021
by
shohboz
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[UPD]
MUS-107
Feature, updated package name to com.mobiuz.app
parent
7654afcf
Changes
55
Hide whitespace changes
Inline
Side-by-side
Showing
55 changed files
with
2821 additions
and
24 deletions
+2821
-24
ExampleInstrumentedTest.kt
...ndroidTest/java/com/mobiuz/app/ExampleInstrumentedTest.kt
+24
-0
AndroidManifest.xml
app/src/main/AndroidManifest.xml
+6
-6
LanguageActivity.kt
app/src/main/java/com/mobiuz/app/LanguageActivity.kt
+51
-0
MotionFragment.kt
app/src/main/java/com/mobiuz/app/MotionFragment.kt
+14
-0
PinActivity.kt
app/src/main/java/com/mobiuz/app/PinActivity.kt
+76
-0
SplashActivity.kt
app/src/main/java/com/mobiuz/app/SplashActivity.kt
+55
-0
App.kt
app/src/main/java/com/mobiuz/app/app/App.kt
+7
-0
DatabaseModule.kt
app/src/main/java/com/mobiuz/app/di/DatabaseModule.kt
+21
-0
RepositoryModule.kt
app/src/main/java/com/mobiuz/app/di/RepositoryModule.kt
+20
-0
PinData.kt
app/src/main/java/com/mobiuz/app/model/PinData.kt
+5
-0
UserAuth.kt
app/src/main/java/com/mobiuz/app/model/UserAuth.kt
+7
-0
ApiService.kt
app/src/main/java/com/mobiuz/app/network/api/ApiService.kt
+48
-0
Action.kt
app/src/main/java/com/mobiuz/app/network/model/Action.kt
+5
-0
Customer.kt
app/src/main/java/com/mobiuz/app/network/model/Customer.kt
+32
-0
Errors.kt
app/src/main/java/com/mobiuz/app/network/model/Errors.kt
+6
-0
GenerateToken.kt
...c/main/java/com/mobiuz/app/network/model/GenerateToken.kt
+5
-0
ResponseList.kt
...rc/main/java/com/mobiuz/app/network/model/ResponseList.kt
+10
-0
ResponseObject.kt
.../main/java/com/mobiuz/app/network/model/ResponseObject.kt
+10
-0
Status.kt
app/src/main/java/com/mobiuz/app/network/model/Status.kt
+7
-0
UiStateList.kt
...src/main/java/com/mobiuz/app/network/model/UiStateList.kt
+10
-0
UiStateObject.kt
...c/main/java/com/mobiuz/app/network/model/UiStateObject.kt
+9
-0
AuthRepository.kt
.../java/com/mobiuz/app/network/repository/AuthRepository.kt
+165
-0
MainRepository.kt
.../java/com/mobiuz/app/network/repository/MainRepository.kt
+10
-0
AuthViewModel.kt
app/src/main/java/com/mobiuz/app/ui/auth/AuthViewModel.kt
+82
-0
BiometricFragment.kt
...ava/com/mobiuz/app/ui/auth/biometric/BiometricFragment.kt
+92
-0
CheckPhoneFragment.kt
...n/java/com/mobiuz/app/ui/auth/check/CheckPhoneFragment.kt
+120
-0
LoginFragment.kt
...c/main/java/com/mobiuz/app/ui/auth/login/LoginFragment.kt
+174
-0
ConfirmPinFragment.kt
...ain/java/com/mobiuz/app/ui/auth/pin/ConfirmPinFragment.kt
+124
-0
PinAdapter.kt
app/src/main/java/com/mobiuz/app/ui/auth/pin/PinAdapter.kt
+99
-0
PinFragment.kt
app/src/main/java/com/mobiuz/app/ui/auth/pin/PinFragment.kt
+95
-0
RegisterFragment.kt
.../java/com/mobiuz/app/ui/auth/register/RegisterFragment.kt
+195
-0
VerificationFragment.kt
...m/mobiuz/app/ui/auth/verification/VerificationFragment.kt
+197
-0
BaseFragment.kt
app/src/main/java/com/mobiuz/app/ui/base/BaseFragment.kt
+34
-0
ButtonClick.kt
app/src/main/java/com/mobiuz/app/ui/global/ButtonClick.kt
+21
-0
CONSTANTS.kt
app/src/main/java/com/mobiuz/app/ui/global/CONSTANTS.kt
+19
-0
ExitDialog.kt
app/src/main/java/com/mobiuz/app/ui/global/ExitDialog.kt
+55
-0
FullScreenDialog.kt
...rc/main/java/com/mobiuz/app/ui/global/FullScreenDialog.kt
+105
-0
ProgressDialog.kt
app/src/main/java/com/mobiuz/app/ui/global/ProgressDialog.kt
+15
-0
SenderDialog.kt
app/src/main/java/com/mobiuz/app/ui/global/SenderDialog.kt
+62
-0
TextWatcherWrapper.kt
.../main/java/com/mobiuz/app/ui/global/TextWatcherWrapper.kt
+17
-0
HomeFragment.kt
app/src/main/java/com/mobiuz/app/ui/home/HomeFragment.kt
+128
-0
HomeViewModel.kt
app/src/main/java/com/mobiuz/app/ui/home/HomeViewModel.kt
+27
-0
SoftKeyboard.kt
app/src/main/java/com/mobiuz/app/utils/SoftKeyboard.kt
+21
-0
Utils.kt
app/src/main/java/com/mobiuz/app/utils/Utils.kt
+49
-0
MoneyExt.kt
...src/main/java/com/mobiuz/app/utils/extensions/MoneyExt.kt
+32
-0
NavigationExtensions.kt
...a/com/mobiuz/app/utils/extensions/NavigationExtensions.kt
+262
-0
PermissionExtensions.kt
...a/com/mobiuz/app/utils/extensions/PermissionExtensions.kt
+73
-0
StringExtension.kt
...n/java/com/mobiuz/app/utils/extensions/StringExtension.kt
+91
-0
Errors.kt
app/src/main/java/uz/ssd/mobiuz/network/model/Errors.kt
+0
-6
nav_graph_auth.xml
app/src/main/res/navigation/nav_graph_auth.xml
+7
-7
nav_graph_home.xml
app/src/main/res/navigation/nav_graph_home.xml
+1
-1
nav_graph_main.xml
app/src/main/res/navigation/nav_graph_main.xml
+1
-1
nav_graph_profile.xml
app/src/main/res/navigation/nav_graph_profile.xml
+1
-1
nav_graph_red.xml
app/src/main/res/navigation/nav_graph_red.xml
+2
-2
ExampleUnitTest.kt
app/src/test/java/com/mobiuz/app/ExampleUnitTest.kt
+17
-0
No files found.
app/src/androidTest/java/
uz/ssd/mobiuz
/ExampleInstrumentedTest.kt
→
app/src/androidTest/java/
com/mobiuz/app
/ExampleInstrumentedTest.kt
View file @
71518399
package
uz.ssd.mobiuz
package
com.mobiuz.app
import
androidx.test.platform.app.InstrumentationRegistry
import
androidx.test.ext.junit.runners.AndroidJUnit4
...
...
app/src/main/AndroidManifest.xml
View file @
71518399
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
package=
"
uz.ssd.mobiuz
"
>
package=
"
com.mobiuz.app
"
>
<uses-permission
android:name=
"android.permission.INTERNET"
/>
<uses-permission
android:name=
"android.permission.CALL_PHONE"
/>
...
...
@@ -9,7 +9,7 @@
<uses-permission
android:name=
"android.permission.USE_FINGERPRINT"
/>
<application
android:name=
".app.App"
android:name=
"
com.mobiuz.app
.app.App"
android:allowBackup=
"true"
android:icon=
"@mipmap/ic_launcher"
android:label=
"@string/app_name"
...
...
@@ -20,25 +20,25 @@
android:usesCleartextTraffic=
"true"
tools:targetApi=
"m"
>
<activity
android:name=
".LanguageActivity"
android:name=
"
com.mobiuz.app
.LanguageActivity"
android:screenOrientation=
"portrait"
android:configChanges=
"orientation"
android:windowSoftInputMode=
"adjustResize"
android:exported=
"false"
/>
<activity
android:name=
".MainActivity"
android:name=
"
com.mobiuz.app
.MainActivity"
android:screenOrientation=
"portrait"
android:configChanges=
"orientation"
android:windowSoftInputMode=
"adjustResize"
android:exported=
"false"
/>
<activity
android:name=
".AuthActivity"
android:name=
"
com.mobiuz.app
.AuthActivity"
android:screenOrientation=
"portrait"
android:configChanges=
"orientation"
android:windowSoftInputMode=
"adjustResize"
android:exported=
"false"
/>
<activity
android:name=
".SplashActivity"
android:name=
"
com.mobiuz.app
.SplashActivity"
android:configChanges=
"orientation"
android:exported=
"true"
android:windowSoftInputMode=
"adjustResize"
...
...
app/src/main/java/
uz/ssd/mobiuz
/LanguageActivity.kt
→
app/src/main/java/
com/mobiuz/app
/LanguageActivity.kt
View file @
71518399
package
uz.ssd.mobiuz
package
com.mobiuz.app
import
android.content.Intent
import
android.os.Bundle
import
android.view.View
import
androidx.appcompat.app.AppCompatActivity
import
dagger.hilt.android.AndroidEntryPoint
import
uz.ssd.mobiuz
.databinding.ActivityLanguageBinding
import
uz.ssd.mobiuz
.model.SharedPref
import
uz.ssd.mobiuz
.ui.global.CONSTANTS
import
com.mobiuz.app
.databinding.ActivityLanguageBinding
import
com.mobiuz.app
.model.SharedPref
import
com.mobiuz.app
.ui.global.CONSTANTS
import
javax.inject.Inject
@AndroidEntryPoint
...
...
app/src/main/java/
uz/ssd/mobiuz
/MotionFragment.kt
→
app/src/main/java/
com/mobiuz/app
/MotionFragment.kt
View file @
71518399
package
uz.ssd.mobiuz
package
com.mobiuz.app
import
uz.ssd.mobiuz
.ui.base.BaseFragment
import
com.mobiuz.app
.ui.base.BaseFragment
class
MotionFragment
:
BaseFragment
(
R
.
layout
.
home_motion
)
{
class
MotionFragment
:
BaseFragment
(
R
.
layout
.
home_motion
)
{
override
fun
setUpUI
()
{
...
...
app/src/main/java/
uz/ssd/mobiuz
/PinActivity.kt
→
app/src/main/java/
com/mobiuz/app
/PinActivity.kt
View file @
71518399
package
uz.ssd.mobiuz
package
com.mobiuz.app
import
androidx.appcompat.app.AppCompatActivity
import
android.os.Bundle
import
android.widget.Toast
import
androidx.appcompat.app.AppCompatActivity
import
androidx.biometric.BiometricPrompt
import
androidx.core.content.ContextCompat
import
dagger.hilt.android.AndroidEntryPoint
import
uz.ssd.mobiuz.databinding.ActivityMainBinding
import
uz.ssd.mobiuz.databinding.ActivityPinBinding
import
com.mobiuz.app.databinding.ActivityPinBinding
import
java.util.concurrent.Executor
@AndroidEntryPoint
...
...
@@ -28,26 +27,35 @@ class PinActivity : AppCompatActivity() {
executor
=
ContextCompat
.
getMainExecutor
(
this
)
biometricPrompt
=
BiometricPrompt
(
this
,
executor
,
object
:
BiometricPrompt
.
AuthenticationCallback
()
{
override
fun
onAuthenticationError
(
errorCode
:
Int
,
errString
:
CharSequence
)
{
override
fun
onAuthenticationError
(
errorCode
:
Int
,
errString
:
CharSequence
)
{
super
.
onAuthenticationError
(
errorCode
,
errString
)
Toast
.
makeText
(
applicationContext
,
"Authentication error: $errString"
,
Toast
.
LENGTH_SHORT
)
Toast
.
makeText
(
applicationContext
,
"Authentication error: $errString"
,
Toast
.
LENGTH_SHORT
)
.
show
()
}
override
fun
onAuthenticationSucceeded
(
result
:
BiometricPrompt
.
AuthenticationResult
)
{
result
:
BiometricPrompt
.
AuthenticationResult
)
{
super
.
onAuthenticationSucceeded
(
result
)
Toast
.
makeText
(
applicationContext
,
"Authentication succeeded!"
,
Toast
.
LENGTH_SHORT
)
Toast
.
makeText
(
applicationContext
,
"Authentication succeeded!"
,
Toast
.
LENGTH_SHORT
)
.
show
()
}
override
fun
onAuthenticationFailed
()
{
super
.
onAuthenticationFailed
()
Toast
.
makeText
(
applicationContext
,
"Authentication failed"
,
Toast
.
LENGTH_SHORT
)
Toast
.
makeText
(
applicationContext
,
"Authentication failed"
,
Toast
.
LENGTH_SHORT
)
.
show
()
}
})
...
...
@@ -60,6 +68,7 @@ class PinActivity : AppCompatActivity() {
biometricPrompt
.
authenticate
(
promptInfo
)
}
override
fun
onDestroy
()
{
_bn
=
null
super
.
onDestroy
()
...
...
app/src/main/java/
uz/ssd/mobiuz
/SplashActivity.kt
→
app/src/main/java/
com/mobiuz/app
/SplashActivity.kt
View file @
71518399
package
uz.ssd.mobiuz
package
com.mobiuz.app
import
android.content.Intent
import
android.os.Bundle
...
...
@@ -6,9 +6,9 @@ import androidx.appcompat.app.AppCompatActivity
import
androidx.lifecycle.lifecycleScope
import
dagger.hilt.android.AndroidEntryPoint
import
kotlinx.coroutines.delay
import
uz.ssd.mobiuz
.databinding.ActivitySplashBinding
import
uz.ssd.mobiuz
.model.SharedPref
import
uz.ssd.mobiuz
.ui.global.CONSTANTS
import
com.mobiuz.app
.databinding.ActivitySplashBinding
import
com.mobiuz.app
.model.SharedPref
import
com.mobiuz.app
.ui.global.CONSTANTS
import
javax.inject.Inject
@AndroidEntryPoint
...
...
app/src/main/java/
uz/ssd/mobiuz
/app/App.kt
→
app/src/main/java/
com/mobiuz/app
/app/App.kt
View file @
71518399
package
uz.ssd.mobiuz
.app
package
com.mobiuz.app
.app
import
android.app.Application
import
dagger.hilt.android.HiltAndroidApp
...
...
app/src/main/java/
uz/ssd/mobiuz
/di/DatabaseModule.kt
→
app/src/main/java/
com/mobiuz/app
/di/DatabaseModule.kt
View file @
71518399
package
uz.ssd.mobiuz
.di
package
com.mobiuz.app
.di
import
dagger.Module
import
dagger.hilt.InstallIn
...
...
app/src/main/java/
uz/ssd/mobiuz
/di/RepositoryModule.kt
→
app/src/main/java/
com/mobiuz/app
/di/RepositoryModule.kt
View file @
71518399
package
uz.ssd.mobiuz
.di
package
com.mobiuz.app
.di
import
dagger.Module
import
dagger.hilt.InstallIn
...
...
app/src/main/java/
uz/ssd/mobiuz
/model/PinData.kt
→
app/src/main/java/
com/mobiuz/app
/model/PinData.kt
View file @
71518399
package
uz.ssd.mobiuz
.model
package
com.mobiuz.app
.model
data class
PinData
(
var
count
:
Int
=
-
1
...
...
app/src/main/java/
uz/ssd/mobiuz
/model/UserAuth.kt
→
app/src/main/java/
com/mobiuz/app
/model/UserAuth.kt
View file @
71518399
package
uz.ssd.mobiuz
.model
package
com.mobiuz.app
.model
data class
UserAuth
(
val
phone
:
String
,
...
...
app/src/main/java/
uz/ssd/mobiuz
/network/api/ApiService.kt
→
app/src/main/java/
com/mobiuz/app
/network/api/ApiService.kt
View file @
71518399
package
uz.ssd.mobiuz
.network.api
package
com.mobiuz.app
.network.api
import
retrofit2.http.Body
import
retrofit2.http.POST
import
uz.ssd.mobiuz
.model.UserAuth
import
uz.ssd.mobiuz
.network.model.*
import
com.mobiuz.app
.model.UserAuth
import
com.mobiuz.app
.network.model.*
interface
ApiService
{
...
...
app/src/main/java/
uz/ssd/mobiuz
/network/model/Action.kt
→
app/src/main/java/
com/mobiuz/app
/network/model/Action.kt
View file @
71518399
package
uz.ssd.mobiuz
.network.model
package
com.mobiuz.app
.network.model
data class
Action
(
var
action
:
String
=
""
...
...
app/src/main/java/
uz/ssd/mobiuz
/network/model/Customer.kt
→
app/src/main/java/
com/mobiuz/app
/network/model/Customer.kt
View file @
71518399
package
uz.ssd.mobiuz
.network.model
package
com.mobiuz.app
.network.model
data class
Customer
(
var
customer
:
CustomerData
?
...
...
app/src/main/java/com/mobiuz/app/network/model/Errors.kt
0 → 100644
View file @
71518399
package
com.mobiuz.app.network.model
data class
Errors
(
var
key
:
String
,
var
message
:
String
)
\ No newline at end of file
app/src/main/java/
uz/ssd/mobiuz
/network/model/GenerateToken.kt
→
app/src/main/java/
com/mobiuz/app
/network/model/GenerateToken.kt
View file @
71518399
package
uz.ssd.mobiuz
.network.model
package
com.mobiuz.app
.network.model
data class
GenerateToken
(
var
token
:
String
...
...
app/src/main/java/
uz/ssd/mobiuz
/network/model/ResponseList.kt
→
app/src/main/java/
com/mobiuz/app
/network/model/ResponseList.kt
View file @
71518399
package
uz.ssd.mobiuz
.network.model
package
com.mobiuz.app
.network.model
class
ResponseList
<
T
>(
...
...
app/src/main/java/
uz/ssd/mobiuz
/network/model/ResponseObject.kt
→
app/src/main/java/
com/mobiuz/app
/network/model/ResponseObject.kt
View file @
71518399
package
uz.ssd.mobiuz
.network.model
package
com.mobiuz.app
.network.model
class
ResponseObject
<
T
>(
...
...
app/src/main/java/
uz/ssd/mobiuz
/network/model/Status.kt
→
app/src/main/java/
com/mobiuz/app
/network/model/Status.kt
View file @
71518399
package
uz.ssd.mobiuz
.network.model
package
com.mobiuz.app
.network.model
data class
Status
(
...
...
app/src/main/java/
uz/ssd/mobiuz
/network/model/UiStateList.kt
→
app/src/main/java/
com/mobiuz/app
/network/model/UiStateList.kt
View file @
71518399
package
uz.ssd.mobiuz
.network.model
package
com.mobiuz.app
.network.model
sealed
class
UiStateList
<
out
T
>
{
...
...
app/src/main/java/
uz/ssd/mobiuz
/network/model/UiStateObject.kt
→
app/src/main/java/
com/mobiuz/app
/network/model/UiStateObject.kt
View file @
71518399
package
uz.ssd.mobiuz
.network.model
package
com.mobiuz.app
.network.model
sealed
class
UiStateObject
<
out
T
>
{
data class
SUCCESS
<
out
T
>(
val
data
:
T
)
:
UiStateObject
<
T
>()
data class
ERROR
(
val
message
:
String
,
var
fromServer
:
Boolean
=
false
)
:
UiStateObject
<
Nothing
>()
data class
ERROR
(
val
message
:
String
,
var
fromServer
:
Boolean
=
false
)
:
UiStateObject
<
Nothing
>()
data class
ERRORS
(
val
errors
:
List
<
Errors
>)
:
UiStateObject
<
Nothing
>()
object
LOADING
:
UiStateObject
<
Nothing
>()
object
EMPTY
:
UiStateObject
<
Nothing
>()
...
...
app/src/main/java/
uz/ssd/mobiuz
/network/repository/AuthRepository.kt
→
app/src/main/java/
com/mobiuz/app
/network/repository/AuthRepository.kt
View file @
71518399
package
uz.ssd.mobiuz
.network.repository
package
com.mobiuz.app
.network.repository
import
android.content.Context
import
dagger.hilt.android.qualifiers.ApplicationContext
import
uz.ssd.mobiuz.model.SharedPref
import
uz.ssd.mobiuz.model.UserAuth
import
uz.ssd.mobiuz.network.api.ApiService
import
uz.ssd.mobiuz.network.model.Action
import
uz.ssd.mobiuz.network.model.Customer
import
uz.ssd.mobiuz.network.model.GenerateToken
import
uz.ssd.mobiuz.network.model.UiStateObject
import
uz.ssd.mobiuz.utils.extensions.userMessage
import
com.mobiuz.app.model.SharedPref
import
com.mobiuz.app.model.UserAuth
import
com.mobiuz.app.network.api.ApiService
import
com.mobiuz.app.network.model.Action
import
com.mobiuz.app.network.model.Customer
import
com.mobiuz.app.network.model.UiStateObject
import
com.mobiuz.app.utils.extensions.userMessage
import
javax.inject.Inject
import
javax.inject.Singleton
...
...
app/src/main/java/
uz/ssd/mobiuz
/network/repository/MainRepository.kt
→
app/src/main/java/
com/mobiuz/app
/network/repository/MainRepository.kt
View file @
71518399
package
uz.ssd.mobiuz
.network.repository
package
com.mobiuz.app
.network.repository
import
uz.ssd.mobiuz
.network.api.ApiService
import
com.mobiuz.app
.network.api.ApiService
import
javax.inject.Inject
import
javax.inject.Singleton
@Singleton
class
MainRepository
@Inject
constructor
(
private
val
apiService
:
ApiService
)
{
}
\ No newline at end of file
)
\ No newline at end of file
app/src/main/java/
uz/ssd/mobiuz
/ui/auth/AuthViewModel.kt
→
app/src/main/java/
com/mobiuz/app
/ui/auth/AuthViewModel.kt
View file @
71518399
package
uz.ssd.mobiuz
.ui.auth
package
com.mobiuz.app
.ui.auth
import
androidx.lifecycle.ViewModel
import
androidx.lifecycle.viewModelScope
...
...
@@ -6,10 +6,10 @@ import dagger.hilt.android.lifecycle.HiltViewModel
import
kotlinx.coroutines.flow.MutableStateFlow
import
kotlinx.coroutines.flow.StateFlow
import
kotlinx.coroutines.launch
import
uz.ssd.mobiuz
.model.UserAuth
import
uz.ssd.mobiuz
.network.model.Action
import
uz.ssd.mobiuz
.network.model.UiStateObject
import
uz.ssd.mobiuz
.network.repository.AuthRepository
import
com.mobiuz.app
.model.UserAuth
import
com.mobiuz.app
.network.model.Action
import
com.mobiuz.app
.network.model.UiStateObject
import
com.mobiuz.app
.network.repository.AuthRepository
import
javax.inject.Inject
@HiltViewModel
...
...
app/src/main/java/
uz/ssd/mobiuz
/ui/auth/biometric/BiometricFragment.kt
→
app/src/main/java/
com/mobiuz/app
/ui/auth/biometric/BiometricFragment.kt
View file @
71518399
package
uz.ssd.mobiuz
.ui.auth.biometric
package
com.mobiuz.app
.ui.auth.biometric
import
android.Manifest
import
android.content.Intent
...
...
@@ -11,13 +11,13 @@ import androidx.core.content.ContextCompat
import
androidx.navigation.NavController
import
androidx.navigation.fragment.NavHostFragment
import
dagger.hilt.android.AndroidEntryPoint
import
uz.ssd.mobiuz
.BuildConfig
import
uz.ssd.mobiuz
.MainActivity
import
uz.ssd.mobiuz
.R
import
uz.ssd.mobiuz
.databinding.FragmentBiometricBinding
import
uz.ssd.mobiuz
.ui.base.BaseFragment
import
uz.ssd.mobiuz
.ui.global.ButtonClick
import
uz.ssd.mobiuz
.ui.global.CONSTANTS
import
com.mobiuz.app
.BuildConfig
import
com.mobiuz.app
.MainActivity
import
com.mobiuz.app
.R
import
com.mobiuz.app
.databinding.FragmentBiometricBinding
import
com.mobiuz.app
.ui.base.BaseFragment
import
com.mobiuz.app
.ui.global.ButtonClick
import
com.mobiuz.app
.ui.global.CONSTANTS
@AndroidEntryPoint
class
BiometricFragment
:
BaseFragment
(
R
.
layout
.
fragment_biometric
)
{
...
...
@@ -31,8 +31,8 @@ class BiometricFragment : BaseFragment(R.layout.fragment_biometric) {
super
.
onCreate
(
savedInstanceState
)
if
(
BuildConfig
.
VERSION_CODE
>=
Build
.
VERSION_CODES
.
P
)
{
if
(
ContextCompat
.
checkSelfPermission
(
requireContext
(),
Manifest
.
permission
.
USE_BIOMETRIC
)
!=
PackageManager
.
PERMISSION_GRANTED
)
{
requestPermissions
(
requireActivity
(),
arrayOf
(
Manifest
.
permission
.
ACCESS_FINE_LOCATION
),
101
)
if
(
ContextCompat
.
checkSelfPermission
(
requireContext
(),
Manifest
.
permission
.
USE_BIOMETRIC
)
!=
PackageManager
.
PERMISSION_GRANTED
)
{
requestPermissions
(
requireActivity
(),
arrayOf
(
Manifest
.
permission
.
ACCESS_FINE_LOCATION
),
101
)
}
}
...
...
app/src/main/java/
uz/ssd/mobiuz
/ui/auth/check/CheckPhoneFragment.kt
→
app/src/main/java/
com/mobiuz/app
/ui/auth/check/CheckPhoneFragment.kt
View file @
71518399
package
uz.ssd.mobiuz
.ui.auth.check
package
com.mobiuz.app
.ui.auth.check
import
android.os.Bundle
import
android.view.View
import
android.view.animation.AnimationUtils
import
androidx.core.os.bundleOf
import
androidx.core.view.isVisible
import
androidx.fragment.app.viewModels
import
androidx.lifecycle.lifecycleScope
import
androidx.navigation.NavController
import
androidx.navigation.fragment.NavHostFragment
import
dagger.hilt.android.AndroidEntryPoint
import
kotlinx.coroutines.flow.collect
import
uz.ssd.mobiuz
.R
import
uz.ssd.mobiuz
.databinding.FragmentCheckPhoneBinding
import
uz.ssd.mobiuz
.model.UserAuth
import
uz.ssd.mobiuz
.network.model.UiStateObject
import
uz.ssd.mobiuz
.ui.auth.AuthViewModel
import
uz.ssd.mobiuz
.ui.base.BaseFragment
import
uz.ssd.mobiuz.ui.global.TextWatcherWrapper
import
uz.ssd.mobiuz.ui.global.ButtonClick
import
uz.ssd.mobiuz.ui.global.CONSTANTS
import
uz.ssd.mobiuz
.utils.Utils
import
uz.ssd.mobiuz
.utils.extensions.customLog
import
uz.ssd.mobiuz
.utils.extensions.showCustomDialog
import
com.mobiuz.app
.R
import
com.mobiuz.app
.databinding.FragmentCheckPhoneBinding
import
com.mobiuz.app
.model.UserAuth
import
com.mobiuz.app
.network.model.UiStateObject
import
com.mobiuz.app
.ui.auth.AuthViewModel
import
com.mobiuz.app
.ui.base.BaseFragment
import
com.mobiuz.app.ui.global.ButtonClick
import
com.mobiuz.app.ui.global.CONSTANTS
import
com.mobiuz.app.ui.global.TextWatcherWrapper
import
com.mobiuz.app
.utils.Utils
import
com.mobiuz.app
.utils.extensions.customLog
import
com.mobiuz.app
.utils.extensions.showCustomDialog
@AndroidEntryPoint
class
CheckPhoneFragment
:
BaseFragment
(
R
.
layout
.
fragment_check_phone
)
{
...
...
@@ -63,7 +62,7 @@ class CheckPhoneFragment : BaseFragment(R.layout.fragment_check_phone) {
phone
.
length
<
13
->
{
inputPhone
.
startAnimation
(
AnimationUtils
.
loadAnimation
(
requireContext
(),
R
.
anim
.
shake
))
}
else
->
viewModel
.
checkPhone
(
UserAuth
(
phone
.
replace
(
"+"
,
""
),
null
))
else
->
viewModel
.
checkPhone
(
UserAuth
(
phone
.
replace
(
"+"
,
""
),
null
))
}
}
...
...
@@ -90,13 +89,13 @@ class CheckPhoneFragment : BaseFragment(R.layout.fragment_check_phone) {
is
UiStateObject
.
ERROR
->
{
bn
.
helperPhone
.
isVisible
=
false
showProgressDialog
(
false
)
showCustomDialog
(
it
.
message
,
false
)
{}
showCustomDialog
(
it
.
message
,
false
)
{}
}
is
UiStateObject
.
ERRORS
->
{
it
.
errors
.
forEach
{
if
(
it
.
key
==
"phone"
)
{
bn
.
layoutInput
.
startAnimation
(
AnimationUtils
.
loadAnimation
(
requireContext
(),
R
.
anim
.
shake
))
if
(
it
.
key
==
"phone"
)
{
bn
.
layoutInput
.
startAnimation
(
AnimationUtils
.
loadAnimation
(
requireContext
(),
R
.
anim
.
shake
))
bn
.
helperPhone
.
isVisible
=
true
bn
.
helperPhone
.
text
=
it
.
message
}
...
...
app/src/main/java/
uz/ssd/mobiuz
/ui/auth/login/LoginFragment.kt
→
app/src/main/java/
com/mobiuz/app
/ui/auth/login/LoginFragment.kt
View file @
71518399
package
uz.ssd.mobiuz
.ui.auth.login
package
com.mobiuz.app
.ui.auth.login
import
android.os.Bundle
import
android.view.View
...
...
@@ -10,17 +10,17 @@ import androidx.navigation.NavController
import
androidx.navigation.fragment.NavHostFragment
import
dagger.hilt.android.AndroidEntryPoint
import
kotlinx.coroutines.flow.collect
import
uz.ssd.mobiuz
.R
import
uz.ssd.mobiuz
.databinding.FragmentLoginBinding
import
uz.ssd.mobiuz
.model.UserAuth
import
uz.ssd.mobiuz
.network.model.UiStateObject
import
uz.ssd.mobiuz
.ui.auth.AuthViewModel
import
uz.ssd.mobiuz
.ui.base.BaseFragment
import
uz.ssd.mobiuz.ui.global.TextWatcherWrapper
import
uz.ssd.mobiuz.ui.global.ButtonClick
import
uz.ssd.mobiuz.ui.global.CONSTANTS
import
uz.ssd.mobiuz
.utils.Utils
import
uz.ssd.mobiuz
.utils.extensions.showCustomDialog
import
com.mobiuz.app
.R
import
com.mobiuz.app
.databinding.FragmentLoginBinding
import
com.mobiuz.app
.model.UserAuth
import
com.mobiuz.app
.network.model.UiStateObject
import
com.mobiuz.app
.ui.auth.AuthViewModel
import
com.mobiuz.app
.ui.base.BaseFragment
import
com.mobiuz.app.ui.global.ButtonClick
import
com.mobiuz.app.ui.global.CONSTANTS
import
com.mobiuz.app.ui.global.TextWatcherWrapper
import
com.mobiuz.app
.utils.Utils
import
com.mobiuz.app
.utils.extensions.showCustomDialog
@AndroidEntryPoint
class
LoginFragment
:
BaseFragment
(
R
.
layout
.
fragment_login
)
{
...
...
@@ -105,7 +105,7 @@ class LoginFragment : BaseFragment(R.layout.fragment_login) {
}
is
UiStateObject
.
ERROR
->
{
showProgressDialog
(
false
)
showCustomDialog
(
it
.
message
,
false
)
{}
showCustomDialog
(
it
.
message
,
false
)
{}
bn
.
helperPassword
.
isVisible
=
false
bn
.
helperPhone
.
isVisible
=
false
}
...
...
@@ -141,16 +141,18 @@ class LoginFragment : BaseFragment(R.layout.fragment_login) {
when
(
it
)
{
is
UiStateObject
.
SUCCESS
->
{
showProgressDialog
(
false
)
navController
.
navigate
(
R
.
id
.
verificationFragment
,
navController
.
navigate
(
R
.
id
.
verificationFragment
,
bundleOf
(
CONSTANTS
.
PHONE
to
phone
,
CONSTANTS
.
TYPE_VERIFICATION
to
CONSTANTS
.
TYPE_FORGET
),
Utils
.
navOptions
())
Utils
.
navOptions
()
)
}
is
UiStateObject
.
ERROR
->
{
showProgressDialog
(
false
)
showCustomDialog
(
it
.
message
,
false
)
{}
showCustomDialog
(
it
.
message
,
false
)
{}
}
is
UiStateObject
.
ERRORS
->
{
...
...
app/src/main/java/
uz/ssd/mobiuz
/ui/auth/pin/ConfirmPinFragment.kt
→
app/src/main/java/
com/mobiuz/app
/ui/auth/pin/ConfirmPinFragment.kt
View file @
71518399
package
uz.ssd.mobiuz
.ui.auth.pin
package
com.mobiuz.app
.ui.auth.pin
import
android.content.Intent
import
android.os.Bundle
...
...
@@ -6,21 +6,20 @@ import android.view.View
import
android.view.animation.AnimationUtils
import
android.widget.TextView
import
androidx.core.hardware.fingerprint.FingerprintManagerCompat
import
androidx.core.view.isVisible
import
androidx.lifecycle.lifecycleScope
import
androidx.navigation.NavController
import
androidx.navigation.fragment.NavHostFragment
import
androidx.recyclerview.widget.LinearLayoutManager
import
dagger.hilt.android.AndroidEntryPoint
import
kotlinx.coroutines.delay
import
uz.ssd.mobiuz
.MainActivity
import
uz.ssd.mobiuz
.R
import
uz.ssd.mobiuz
.databinding.FragmentPinBinding
import
uz.ssd.mobiuz
.model.PinData
import
uz.ssd.mobiuz
.model.SharedPref
import
uz.ssd.mobiuz
.ui.base.BaseFragment
import
uz.ssd.mobiuz
.ui.global.CONSTANTS
import
uz.ssd.mobiuz
.utils.Utils
import
com.mobiuz.app
.MainActivity
import
com.mobiuz.app
.R
import
com.mobiuz.app
.databinding.FragmentPinBinding
import
com.mobiuz.app
.model.PinData
import
com.mobiuz.app
.model.SharedPref
import
com.mobiuz.app
.ui.base.BaseFragment
import
com.mobiuz.app
.ui.global.CONSTANTS
import
com.mobiuz.app
.utils.Utils
import
javax.inject.Inject
@AndroidEntryPoint
...
...
@@ -68,7 +67,7 @@ class ConfirmPinFragment : BaseFragment(R.layout.fragment_pin) {
txtNotPin
.
isVisible
=
false
navigate
()
}
else
{
cardPin
.
startAnimation
(
AnimationUtils
.
loadAnimation
(
requireContext
(),
R
.
anim
.
shake
))
cardPin
.
startAnimation
(
AnimationUtils
.
loadAnimation
(
requireContext
(),
R
.
anim
.
shake
))
txtNotPin
.
isVisible
=
true
}
}
...
...
app/src/main/java/
uz/ssd/mobiuz
/ui/auth/pin/PinAdapter.kt
→
app/src/main/java/
com/mobiuz/app
/ui/auth/pin/PinAdapter.kt
View file @
71518399
package
uz.ssd.mobiuz
.ui.auth.pin
package
com.mobiuz.app
.ui.auth.pin
import
android.view.LayoutInflater
import
android.view.ViewGroup
import
androidx.recyclerview.widget.RecyclerView
import
uz.ssd.mobiuz
.R
import
uz.ssd.mobiuz
.databinding.ItemPinBinding
import
uz.ssd.mobiuz
.model.PinData
import
uz.ssd.mobiuz
.utils.extensions.SingleBlock
import
com.mobiuz.app
.R
import
com.mobiuz.app
.databinding.ItemPinBinding
import
com.mobiuz.app
.model.PinData
import
com.mobiuz.app
.utils.extensions.SingleBlock
class
PinAdapter
:
RecyclerView
.
Adapter
<
PinAdapter
.
VHolder
>()
{
private
val
list
:
ArrayList
<
PinData
>
by
lazy
{
ArrayList
()
}
private
val
list
:
ArrayList
<
PinData
>
by
lazy
{
ArrayList
()
}
private
var
listener
:
SingleBlock
<
String
>?
=
null
override
fun
onCreateViewHolder
(
parent
:
ViewGroup
,
viewType
:
Int
):
VHolder
{
...
...
@@ -39,7 +39,7 @@ class PinAdapter : RecyclerView.Adapter<PinAdapter.VHolder>() {
list
[
index
].
count
=
id
notifyItemChanged
(
index
)
if
(
index
==
3
)
checkDone
()
}
else
{
}
else
{
list
.
forEach
{
it
.
count
=
-
1
}
...
...
app/src/main/java/
uz/ssd/mobiuz
/ui/auth/pin/PinFragment.kt
→
app/src/main/java/
com/mobiuz/app
/ui/auth/pin/PinFragment.kt
View file @
71518399
package
uz.ssd.mobiuz
.ui.auth.pin
package
com.mobiuz.app
.ui.auth.pin
import
android.os.Bundle
import
android.view.View
import
android.widget.TextView
import
androidx.core.os.bundleOf
import
androidx.core.view.isVisible
import
androidx.fragment.app.viewModels
import
androidx.lifecycle.lifecycleScope
import
androidx.navigation.NavController
import
androidx.navigation.fragment.NavHostFragment
import
androidx.recyclerview.widget.LinearLayoutManager
import
dagger.hilt.android.AndroidEntryPoint
import
kotlinx.coroutines.delay
import
uz.ssd.mobiuz.R
import
uz.ssd.mobiuz.databinding.FragmentPinBinding
import
uz.ssd.mobiuz.model.PinData
import
uz.ssd.mobiuz.model.SharedPref
import
uz.ssd.mobiuz.ui.auth.AuthViewModel
import
uz.ssd.mobiuz.ui.base.BaseFragment
import
uz.ssd.mobiuz.utils.Utils
import
com.mobiuz.app.R
import
com.mobiuz.app.databinding.FragmentPinBinding
import
com.mobiuz.app.model.PinData
import
com.mobiuz.app.model.SharedPref
import
com.mobiuz.app.ui.base.BaseFragment
import
com.mobiuz.app.utils.Utils
import
javax.inject.Inject
@AndroidEntryPoint
...
...
@@ -33,7 +30,6 @@ class PinFragment : BaseFragment(R.layout.fragment_pin) {
private
val
pinAdapter
=
PinAdapter
()
override
fun
onViewCreated
(
view
:
View
,
savedInstanceState
:
Bundle
?)
{
_bn
=
FragmentPinBinding
.
bind
(
view
)
...
...
app/src/main/java/
uz/ssd/mobiuz
/ui/auth/register/RegisterFragment.kt
→
app/src/main/java/
com/mobiuz/app
/ui/auth/register/RegisterFragment.kt
View file @
71518399
package
uz.ssd.mobiuz
.ui.auth.register
package
com.mobiuz.app
.ui.auth.register
import
android.os.Bundle
import
android.view.View
import
androidx.core.os.bundleOf
import
androidx.core.view.isVisible
import
androidx.fragment.app.viewModels
import
androidx.lifecycle.lifecycleScope
import
androidx.navigation.NavController
import
androidx.navigation.fragment.NavHostFragment
import
dagger.hilt.android.AndroidEntryPoint
import
kotlinx.coroutines.flow.collect
import
uz.ssd.mobiuz
.R
import
uz.ssd.mobiuz
.databinding.FragmentRegisterBinding
import
uz.ssd.mobiuz
.model.UserAuth
import
uz.ssd.mobiuz
.network.model.UiStateObject
import
uz.ssd.mobiuz
.ui.auth.AuthViewModel
import
uz.ssd.mobiuz
.ui.base.BaseFragment
import
uz.ssd.mobiuz
.ui.global.ButtonClick
import
uz.ssd.mobiuz
.ui.global.CONSTANTS
import
uz.ssd.mobiuz
.ui.global.TextWatcherWrapper
import
uz.ssd.mobiuz
.utils.Utils
import
uz.ssd.mobiuz
.utils.extensions.showCustomDialog
import
com.mobiuz.app
.R
import
com.mobiuz.app
.databinding.FragmentRegisterBinding
import
com.mobiuz.app
.model.UserAuth
import
com.mobiuz.app
.network.model.UiStateObject
import
com.mobiuz.app
.ui.auth.AuthViewModel
import
com.mobiuz.app
.ui.base.BaseFragment
import
com.mobiuz.app
.ui.global.ButtonClick
import
com.mobiuz.app
.ui.global.CONSTANTS
import
com.mobiuz.app
.ui.global.TextWatcherWrapper
import
com.mobiuz.app
.utils.Utils
import
com.mobiuz.app
.utils.extensions.showCustomDialog
@AndroidEntryPoint
class
RegisterFragment
:
BaseFragment
(
R
.
layout
.
fragment_register
)
{
...
...
@@ -109,7 +108,7 @@ class RegisterFragment : BaseFragment(R.layout.fragment_register) {
}
else
->
{
if
(
type
==
CONSTANTS
.
TYPE_FORGET
)
{
viewModel
.
resetPassword
(
UserAuth
(
phone
.
replace
(
" "
,
""
).
replace
(
"+"
,
""
),
password
,
code
))
viewModel
.
resetPassword
(
UserAuth
(
phone
.
replace
(
" "
,
""
).
replace
(
"+"
,
""
),
password
,
code
))
}
else
{
viewModel
.
register
(
UserAuth
(
phone
.
replace
(
" "
,
""
).
replace
(
"+"
,
""
),
password
))
}
...
...
@@ -162,7 +161,7 @@ class RegisterFragment : BaseFragment(R.layout.fragment_register) {
showProgressDialog
(
false
)
showCustomDialog
(
"Password successfully updated"
,
true
)
{
navController
.
popBackStack
()
navController
.
navigate
(
R
.
id
.
pinFragment
,
null
,
Utils
.
navOptions
())
navController
.
navigate
(
R
.
id
.
pinFragment
,
null
,
Utils
.
navOptions
())
}
}
...
...
app/src/main/java/
uz/ssd/mobiuz
/ui/auth/verification/VerificationFragment.kt
→
app/src/main/java/
com/mobiuz/app
/ui/auth/verification/VerificationFragment.kt
View file @
71518399
package
uz.ssd.mobiuz
.ui.auth.verification
package
com.mobiuz.app
.ui.auth.verification
import
android.os.Bundle
import
android.view.View
import
android.view.animation.AnimationUtils
import
androidx.core.os.bundleOf
import
androidx.core.view.isVisible
import
androidx.fragment.app.viewModels
import
androidx.lifecycle.lifecycleScope
import
androidx.navigation.NavController
import
androidx.navigation.fragment.NavHostFragment
import
dagger.hilt.android.AndroidEntryPoint
import
kotlinx.coroutines.flow.collect
import
uz.ssd.mobiuz
.R
import
uz.ssd.mobiuz
.databinding.FragmentVerificationBinding
import
uz.ssd.mobiuz
.model.SharedPref
import
uz.ssd.mobiuz
.model.UserAuth
import
uz.ssd.mobiuz
.network.model.UiStateObject
import
uz.ssd.mobiuz
.ui.auth.AuthViewModel
import
uz.ssd.mobiuz
.ui.base.BaseFragment
import
uz.ssd.mobiuz.ui.global.TextWatcherWrapper
import
uz.ssd.mobiuz.ui.global.ButtonClick
import
uz.ssd.mobiuz.ui.global.CONSTANTS
import
uz.ssd.mobiuz
.utils.Utils
import
uz.ssd.mobiuz.utils.hideKeyboard
import
uz.ssd.mobiuz.utils.extensions.showCustomDialog
import
com.mobiuz.app
.R
import
com.mobiuz.app
.databinding.FragmentVerificationBinding
import
com.mobiuz.app
.model.SharedPref
import
com.mobiuz.app
.model.UserAuth
import
com.mobiuz.app
.network.model.UiStateObject
import
com.mobiuz.app
.ui.auth.AuthViewModel
import
com.mobiuz.app
.ui.base.BaseFragment
import
com.mobiuz.app.ui.global.ButtonClick
import
com.mobiuz.app.ui.global.CONSTANTS
import
com.mobiuz.app.ui.global.TextWatcherWrapper
import
com.mobiuz.app
.utils.Utils
import
com.mobiuz.app.utils.extensions.showCustomDialog
import
com.mobiuz.app.utils.hideKeyboard
import
javax.inject.Inject
@AndroidEntryPoint
...
...
@@ -82,9 +81,9 @@ class VerificationFragment : BaseFragment(R.layout.fragment_verification) {
override
fun
onSingleClick
(
v
:
View
?)
{
getLinePinCodes
()
val
auth
=
UserAuth
(
phone
.
replace
(
"+"
,
""
).
replace
(
" "
,
""
),
null
,
code
)
if
(
type
==
CONSTANTS
.
TYPE_FORGET
)
{
if
(
type
==
CONSTANTS
.
TYPE_FORGET
)
{
viewModel
.
checkResetCode
(
auth
)
}
else
{
}
else
{
viewModel
.
verification
(
auth
)
}
...
...
@@ -118,7 +117,7 @@ class VerificationFragment : BaseFragment(R.layout.fragment_verification) {
showProgressDialog
(
false
)
bn
.
lineField
.
startAnimation
(
AnimationUtils
.
loadAnimation
(
requireContext
(),
R
.
anim
.
shake
))
bn
.
helperLineField
.
isVisible
=
false
showCustomDialog
(
it
.
message
,
false
)
{}
showCustomDialog
(
it
.
message
,
false
)
{}
}
is
UiStateObject
.
ERRORS
->
{
showProgressDialog
(
false
)
...
...
@@ -145,19 +144,21 @@ class VerificationFragment : BaseFragment(R.layout.fragment_verification) {
showProgressDialog
(
false
)
bn
.
helperLineField
.
isVisible
=
false
pref
.
userPhone
=
phone
navController
.
navigate
(
R
.
id
.
registerFragment
,
navController
.
navigate
(
R
.
id
.
registerFragment
,
bundleOf
(
CONSTANTS
.
PHONE
to
phone
,
CONSTANTS
.
TYPE_VERIFICATION
to
CONSTANTS
.
TYPE_FORGET
,
CONSTANTS
.
PIN_CODE
to
code
,
),
Utils
.
navOptions
())
Utils
.
navOptions
()
)
}
is
UiStateObject
.
ERROR
->
{
showProgressDialog
(
false
)
bn
.
lineField
.
startAnimation
(
AnimationUtils
.
loadAnimation
(
requireContext
(),
R
.
anim
.
shake
))
bn
.
helperLineField
.
isVisible
=
false
showCustomDialog
(
it
.
message
,
false
)
{}
showCustomDialog
(
it
.
message
,
false
)
{}
}
is
UiStateObject
.
ERRORS
->
{
showProgressDialog
(
false
)
...
...
app/src/main/java/
uz/ssd/mobiuz
/ui/base/BaseFragment.kt
→
app/src/main/java/
com/mobiuz/app
/ui/base/BaseFragment.kt
View file @
71518399
package
uz.ssd.mobiuz
.ui.base
package
com.mobiuz.app
.ui.base
import
android.os.Bundle
import
android.view.LayoutInflater
import
android.view.View
import
android.view.ViewGroup
import
androidx.fragment.app.Fragment
import
uz.ssd.mobiuz
.ui.global.ProgressDialog
import
com.mobiuz.app
.ui.global.ProgressDialog
abstract
class
BaseFragment
(
private
val
layoutId
:
Int
)
:
Fragment
()
{
...
...
app/src/main/java/
uz/ssd/mobiuz
/ui/global/ButtonClick.kt
→
app/src/main/java/
com/mobiuz/app
/ui/global/ButtonClick.kt
View file @
71518399
package
uz.ssd.mobiuz
.ui.global
package
com.mobiuz.app
.ui.global
import
android.os.SystemClock
import
android.view.View
...
...
app/src/main/java/
uz/ssd/mobiuz
/ui/global/CONSTANTS.kt
→
app/src/main/java/
com/mobiuz/app
/ui/global/CONSTANTS.kt
View file @
71518399
package
uz.ssd.mobiuz
.ui.global
package
com.mobiuz.app
.ui.global
object
CONSTANTS
{
const
val
BASE_URL
=
"http://10.160.45.60/api/v1/"
...
...
@@ -14,6 +14,6 @@ object CONSTANTS {
const
val
FIRST
=
"first"
const
val
LONGITUDE
=
69.2602108116081
const
val
LATITUDE
=
41.34823322480444
const
val
LATITUDE
=
41.34823322480444
}
\ No newline at end of file
app/src/main/java/
uz/ssd/mobiuz
/ui/global/ExitDialog.kt
→
app/src/main/java/
com/mobiuz/app
/ui/global/ExitDialog.kt
View file @
71518399
package
uz.ssd.mobiuz
.ui.global
package
com.mobiuz.app
.ui.global
import
android.os.Bundle
import
android.view.LayoutInflater
import
android.view.View
import
android.view.ViewGroup
import
androidx.fragment.app.DialogFragment
import
uz.ssd.mobiuz
.R
import
uz.ssd.mobiuz
.databinding.LayoutExitBinding
import
uz.ssd.mobiuz
.utils.extensions.SingleBlock
import
com.mobiuz.app
.R
import
com.mobiuz.app
.databinding.LayoutExitBinding
import
com.mobiuz.app
.utils.extensions.SingleBlock
class
ExitDialog
:
DialogFragment
()
{
...
...
app/src/main/java/
uz/ssd/mobiuz
/ui/global/FullScreenDialog.kt
→
app/src/main/java/
com/mobiuz/app
/ui/global/FullScreenDialog.kt
View file @
71518399
package
uz.ssd.mobiuz
.ui.global
package
com.mobiuz.app
.ui.global
import
android.os.Bundle
import
android.view.View
import
android.view.animation.AnimationUtils
import
android.widget.TextView
import
androidx.core.view.isVisible
import
androidx.fragment.app.DialogFragment
import
androidx.lifecycle.lifecycleScope
import
androidx.recyclerview.widget.LinearLayoutManager
import
dagger.hilt.android.AndroidEntryPoint
import
kotlinx.coroutines.delay
import
uz.ssd.mobiuz
.R
import
uz.ssd.mobiuz
.databinding.FragmentPinDialogBinding
import
uz.ssd.mobiuz
.model.PinData
import
uz.ssd.mobiuz
.model.SharedPref
import
uz.ssd.mobiuz
.ui.auth.pin.PinAdapter
import
uz.ssd.mobiuz
.utils.extensions.SingleBlock
import
com.mobiuz.app
.R
import
com.mobiuz.app
.databinding.FragmentPinDialogBinding
import
com.mobiuz.app
.model.PinData
import
com.mobiuz.app
.model.SharedPref
import
com.mobiuz.app
.ui.auth.pin.PinAdapter
import
com.mobiuz.app
.utils.extensions.SingleBlock
import
javax.inject.Inject
...
...
@@ -32,7 +31,7 @@ class FullScreenDialog : DialogFragment(R.layout.fragment_pin_dialog) {
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
setStyle
(
STYLE_NO_TITLE
,
R
.
style
.
FullScreenDialog
)
setStyle
(
STYLE_NO_TITLE
,
R
.
style
.
FullScreenDialog
)
}
override
fun
onViewCreated
(
view
:
View
,
savedInstanceState
:
Bundle
?)
{
...
...
@@ -48,7 +47,7 @@ class FullScreenDialog : DialogFragment(R.layout.fragment_pin_dialog) {
loadData
()
rvPin
.
layoutManager
=
LinearLayoutManager
(
requireContext
(),
LinearLayoutManager
.
HORIZONTAL
,
false
)
withPassword
.
setOnClickListener
(
object
:
ButtonClick
(){
withPassword
.
setOnClickListener
(
object
:
ButtonClick
()
{
override
fun
onSingleClick
(
v
:
View
?)
{
listener
?.
invoke
(
Unit
)
}
...
...
app/src/main/java/
uz/ssd/mobiuz
/ui/global/ProgressDialog.kt
→
app/src/main/java/
com/mobiuz/app
/ui/global/ProgressDialog.kt
View file @
71518399
package
uz.ssd.mobiuz
.ui.global
package
com.mobiuz.app
.ui.global
import
android.os.Bundle
import
androidx.fragment.app.DialogFragment
import
uz.ssd.mobiuz
.R
import
com.mobiuz.app
.R
class
ProgressDialog
:
DialogFragment
(
R
.
layout
.
fragment_progress
)
{
...
...
app/src/main/java/
uz/ssd/mobiuz
/ui/global/SenderDialog.kt
→
app/src/main/java/
com/mobiuz/app
/ui/global/SenderDialog.kt
View file @
71518399
package
uz.ssd.mobiuz
.ui.global
package
com.mobiuz.app
.ui.global
import
android.graphics.Color
import
android.os.Bundle
...
...
@@ -6,9 +6,9 @@ import android.view.LayoutInflater
import
android.view.View
import
android.view.ViewGroup
import
androidx.fragment.app.DialogFragment
import
uz.ssd.mobiuz
.R
import
uz.ssd.mobiuz
.databinding.LayoutSenderBinding
import
uz.ssd.mobiuz
.utils.extensions.SingleBlock
import
com.mobiuz.app
.R
import
com.mobiuz.app
.databinding.LayoutSenderBinding
import
com.mobiuz.app
.utils.extensions.SingleBlock
class
SenderDialog
(
private
val
txtDescription
:
String
,
...
...
app/src/main/java/
uz/ssd/mobiuz
/ui/global/TextWatcherWrapper.kt
→
app/src/main/java/
com/mobiuz/app
/ui/global/TextWatcherWrapper.kt
View file @
71518399
package
uz.ssd.mobiuz
.ui.global
package
com.mobiuz.app
.ui.global
import
android.text.Editable
import
android.text.TextWatcher
...
...
app/src/main/java/
uz/ssd/mobiuz
/ui/home/HomeFragment.kt
→
app/src/main/java/
com/mobiuz/app
/ui/home/HomeFragment.kt
View file @
71518399
package
uz.ssd.mobiuz
.ui.home
package
com.mobiuz.app
.ui.home
import
android.annotation.SuppressLint
import
android.content.Intent
...
...
@@ -8,15 +8,15 @@ import androidx.fragment.app.viewModels
import
androidx.lifecycle.lifecycleScope
import
dagger.hilt.android.AndroidEntryPoint
import
kotlinx.coroutines.flow.collect
import
uz.ssd.mobiuz
.AuthActivity
import
uz.ssd.mobiuz
.R
import
uz.ssd.mobiuz
.databinding.FragmentHomeBinding
import
uz.ssd.mobiuz
.model.SharedPref
import
uz.ssd.mobiuz
.network.model.Customer
import
uz.ssd.mobiuz
.network.model.UiStateObject
import
uz.ssd.mobiuz
.ui.base.BaseFragment
import
uz.ssd.mobiuz
.ui.global.ButtonClick
import
uz.ssd.mobiuz
.utils.extensions.*
import
com.mobiuz.app
.AuthActivity
import
com.mobiuz.app
.R
import
com.mobiuz.app
.databinding.FragmentHomeBinding
import
com.mobiuz.app
.model.SharedPref
import
com.mobiuz.app
.network.model.Customer
import
com.mobiuz.app
.network.model.UiStateObject
import
com.mobiuz.app
.ui.base.BaseFragment
import
com.mobiuz.app
.ui.global.ButtonClick
import
com.mobiuz.app
.utils.extensions.*
import
javax.inject.Inject
...
...
@@ -28,7 +28,7 @@ class HomeFragment : BaseFragment(R.layout.fragment_home) {
private
var
_bn
:
FragmentHomeBinding
?
=
null
private
val
bn
get
()
=
_bn
?:
throw
NullPointerException
(
"cannot inflate"
)
private
val
viewModel
:
HomeViewModel
by
viewModels
()
private
val
viewModel
:
HomeViewModel
by
viewModels
()
private
var
customer
:
Customer
?
=
null
...
...
@@ -114,8 +114,8 @@ class HomeFragment : BaseFragment(R.layout.fragment_home) {
txtMyNumber
.
text
=
pref
.
userPhone
}
}
}
catch
(
e
:
Exception
)
{
showCustomDialog
(
e
.
userMessage
(
requireContext
()),
false
)
{}
}
catch
(
e
:
Exception
)
{
showCustomDialog
(
e
.
userMessage
(
requireContext
()),
false
)
{}
}
...
...
app/src/main/java/
uz/ssd/mobiuz
/ui/home/HomeViewModel.kt
→
app/src/main/java/
com/mobiuz/app
/ui/home/HomeViewModel.kt
View file @
71518399
package
uz.ssd.mobiuz
.ui.home
package
com.mobiuz.app
.ui.home
import
androidx.lifecycle.ViewModel
import
androidx.lifecycle.viewModelScope
...
...
@@ -6,11 +6,9 @@ import dagger.hilt.android.lifecycle.HiltViewModel
import
kotlinx.coroutines.flow.MutableStateFlow
import
kotlinx.coroutines.flow.StateFlow
import
kotlinx.coroutines.launch
import
uz.ssd.mobiuz.model.UserAuth
import
uz.ssd.mobiuz.network.model.Action
import
uz.ssd.mobiuz.network.model.Customer
import
uz.ssd.mobiuz.network.model.UiStateObject
import
uz.ssd.mobiuz.network.repository.AuthRepository
import
com.mobiuz.app.network.model.Customer
import
com.mobiuz.app.network.model.UiStateObject
import
com.mobiuz.app.network.repository.AuthRepository
import
javax.inject.Inject
@HiltViewModel
...
...
app/src/main/java/
uz/ssd/mobiuz
/utils/SoftKeyboard.kt
→
app/src/main/java/
com/mobiuz/app
/utils/SoftKeyboard.kt
View file @
71518399
package
uz.ssd.mobiuz
.utils
package
com.mobiuz.app
.utils
import
android.content.Context
import
android.view.View
...
...
@@ -7,7 +7,7 @@ import android.view.inputmethod.InputMethodManager
fun
View
.
hideKeyboard
():
Boolean
{
try
{
val
inputMethodManager
=
context
.
getSystemService
(
Context
.
INPUT_METHOD_SERVICE
)
as
InputMethodManager
context
.
getSystemService
(
Context
.
INPUT_METHOD_SERVICE
)
as
InputMethodManager
return
inputMethodManager
.
hideSoftInputFromWindow
(
windowToken
,
0
)
}
catch
(
ignored
:
RuntimeException
)
{
}
...
...
app/src/main/java/
uz/ssd/mobiuz
/utils/Utils.kt
→
app/src/main/java/
com/mobiuz/app
/utils/Utils.kt
View file @
71518399
package
uz.ssd.mobiuz
.utils
package
com.mobiuz.app
.utils
import
android.os.Build
import
android.text.TextUtils
import
androidx.navigation.NavOptions
import
uz.ssd.mobiuz.R
import
com.mobiuz.app.R
import
java.util.*
object
Utils
{
...
...
@@ -19,7 +20,7 @@ object Utils {
fun
getDeviceName
():
String
{
val
manufacturer
=
Build
.
MANUFACTURER
val
model
=
Build
.
MODEL
return
if
(
model
.
toLowerCase
().
startsWith
(
manufacturer
.
toLowerCase
(
)))
{
return
if
(
model
.
lowercase
(
Locale
.
getDefault
()).
startsWith
(
manufacturer
.
lowercase
(
Locale
.
getDefault
()
)))
{
capitalize
(
model
)
}
else
{
capitalize
(
manufacturer
)
+
" "
+
model
...
...
app/src/main/java/
uz/ssd/mobiuz
/utils/extensions/MoneyExt.kt
→
app/src/main/java/
com/mobiuz/app
/utils/extensions/MoneyExt.kt
View file @
71518399
package
uz.ssd.mobiuz
.utils.extensions
package
com.mobiuz.app
.utils.extensions
import
java.text.DecimalFormat
import
java.text.DecimalFormatSymbols
...
...
@@ -6,10 +6,10 @@ import java.util.*
fun
Number
.
toMoneyFormat
():
String
{
return
String
.
format
(
DecimalFormat
(
"#,###.##"
,
DecimalFormatSymbols
(
Locale
(
"ru"
,
"RU"
))
).
format
(
this
)
DecimalFormat
(
"#,###.##"
,
DecimalFormatSymbols
(
Locale
(
"ru"
,
"RU"
))
).
format
(
this
)
)
}
...
...
@@ -22,8 +22,8 @@ fun String.toMoneyFormat(): String {
}
}
fun
String
.
currencyFormat
():
String
{
val
format
=
this
.
replace
(
","
,
""
)
fun
String
.
currencyFormat
():
String
{
val
format
=
this
.
replace
(
","
,
""
)
return
DecimalFormat
(
"###,###,###"
).
format
(
format
.
toDouble
())
}
...
...
app/src/main/java/
uz/ssd/mobiuz
/utils/extensions/NavigationExtensions.kt
→
app/src/main/java/
com/mobiuz/app
/utils/extensions/NavigationExtensions.kt
View file @
71518399
...
...
@@ -14,7 +14,7 @@
* limitations under the License.
*/
package
uz.ssd.mobiuz
.utils.extensions
package
com.mobiuz.app
.utils.extensions
import
android.content.Intent
import
android.util.SparseArray
...
...
@@ -25,7 +25,7 @@ import androidx.lifecycle.MutableLiveData
import
androidx.navigation.NavController
import
androidx.navigation.fragment.NavHostFragment
import
com.google.android.material.bottomnavigation.BottomNavigationView
import
uz.ssd.mobiuz
.R
import
com.mobiuz.app
.R
/**
* Manages the various graphs needed for a [BottomNavigationView].
...
...
app/src/main/java/
uz/ssd/mobiuz
/utils/extensions/PermissionExtensions.kt
→
app/src/main/java/
com/mobiuz/app
/utils/extensions/PermissionExtensions.kt
View file @
71518399
package
uz.ssd.mobiuz
.utils
package
com.mobiuz.app
.utils
import
androidx.fragment.app.Fragment
import
androidx.fragment.app.FragmentActivity
...
...
@@ -53,6 +53,7 @@ fun Fragment.checkPermissions(permissions: Array<String>, granted: () -> Unit) {
}
})
}
fun
FragmentActivity
.
checkPermissions
(
permissions
:
Array
<
String
>,
granted
:
()
->
Unit
)
{
val
mContext
=
this
val
options
=
Permissions
.
Options
()
...
...
app/src/main/java/
uz/ssd/mobiuz
/utils/extensions/StringExtension.kt
→
app/src/main/java/
com/mobiuz/app
/utils/extensions/StringExtension.kt
View file @
71518399
package
uz.ssd.mobiuz
.utils.extensions
package
com.mobiuz.app
.utils.extensions
import
android.app.Activity
import
android.content.Context
...
...
@@ -9,9 +9,9 @@ import androidx.fragment.app.FragmentActivity
import
androidx.recyclerview.widget.RecyclerView
import
com.google.gson.JsonSyntaxException
import
retrofit2.HttpException
import
uz.ssd.mobiuz
.R
import
uz.ssd.mobiuz
.ui.global.ExitDialog
import
uz.ssd.mobiuz
.ui.global.SenderDialog
import
com.mobiuz.app
.R
import
com.mobiuz.app
.ui.global.ExitDialog
import
com.mobiuz.app
.ui.global.SenderDialog
import
java.io.IOException
import
java.net.ConnectException
...
...
app/src/main/java/uz/ssd/mobiuz/network/model/Errors.kt
deleted
100644 → 0
View file @
7654afcf
package
uz.ssd.mobiuz.network.model
data class
Errors
(
var
key
:
String
,
var
message
:
String
)
\ No newline at end of file
app/src/main/res/navigation/nav_graph_auth.xml
View file @
71518399
...
...
@@ -7,40 +7,40 @@
<fragment
android:id=
"@+id/checkPhoneFragment"
android:name=
"
uz.ssd.mobiuz
.ui.auth.check.CheckPhoneFragment"
android:name=
"
com.mobiuz.app
.ui.auth.check.CheckPhoneFragment"
android:label=
"fragment_login"
tools:layout=
"@layout/fragment_check_phone"
/>
<fragment
android:id=
"@+id/verificationFragment"
android:name=
"
uz.ssd.mobiuz
.ui.auth.verification.VerificationFragment"
android:name=
"
com.mobiuz.app
.ui.auth.verification.VerificationFragment"
android:label=
"fragment_verification"
tools:layout=
"@layout/fragment_verification"
/>
<fragment
android:id=
"@+id/registerFragment"
android:name=
"
uz.ssd.mobiuz
.ui.auth.register.RegisterFragment"
android:name=
"
com.mobiuz.app
.ui.auth.register.RegisterFragment"
android:label=
"EnterPasswordFragment"
tools:layout=
"@layout/fragment_register"
/>
<fragment
android:id=
"@+id/loginFragment"
android:name=
"
uz.ssd.mobiuz
.ui.auth.login.LoginFragment"
android:name=
"
com.mobiuz.app
.ui.auth.login.LoginFragment"
android:label=
"fragment_password"
tools:layout=
"@layout/fragment_login"
/>
<fragment
android:id=
"@+id/pinFragment"
android:name=
"
uz.ssd.mobiuz
.ui.auth.pin.PinFragment"
android:name=
"
com.mobiuz.app
.ui.auth.pin.PinFragment"
android:label=
"PinFragment"
tools:layout=
"@layout/fragment_pin"
/>
<fragment
android:id=
"@+id/biometricFragment"
android:name=
"
uz.ssd.mobiuz
.ui.auth.biometric.BiometricFragment"
android:name=
"
com.mobiuz.app
.ui.auth.biometric.BiometricFragment"
android:label=
"fragment_biometric"
tools:layout=
"@layout/fragment_biometric"
/>
<fragment
android:id=
"@+id/confirmPinFragment"
android:name=
"
uz.ssd.mobiuz
.ui.auth.pin.ConfirmPinFragment"
android:name=
"
com.mobiuz.app
.ui.auth.pin.ConfirmPinFragment"
android:label=
"ConfirmPinFragment"
tools:layout=
"@layout/fragment_pin"
/>
</navigation>
\ No newline at end of file
app/src/main/res/navigation/nav_graph_home.xml
View file @
71518399
...
...
@@ -7,7 +7,7 @@
<fragment
android:id=
"@+id/homeFragment"
android:name=
"
uz.ssd.mobiuz
.ui.home.HomeFragment"
android:name=
"
com.mobiuz.app
.ui.home.HomeFragment"
android:label=
"fragment_home"
tools:layout=
"@layout/fragment_home"
/>
...
...
app/src/main/res/navigation/nav_graph_main.xml
View file @
71518399
...
...
@@ -7,7 +7,7 @@
<fragment
android:id=
"@+id/homeFragment"
android:name=
"
uz.ssd.mobiuz
.ui.home.HomeFragment"
android:name=
"
com.mobiuz.app
.ui.home.HomeFragment"
android:label=
"fragment_home"
tools:layout=
"@layout/fragment_home"
/>
...
...
app/src/main/res/navigation/nav_graph_profile.xml
View file @
71518399
...
...
@@ -8,7 +8,7 @@
<fragment
android:id=
"@+id/motionFragment"
tools:layout=
"@layout/home_motion"
android:name=
"
uz.ssd.mobiuz
.MotionFragment"
android:name=
"
com.mobiuz.app
.MotionFragment"
android:label=
"MotionFragment"
/>
</navigation>
\ No newline at end of file
app/src/main/res/navigation/nav_graph_red.xml
View file @
71518399
...
...
@@ -8,12 +8,12 @@
<fragment
android:id=
"@+id/homeFragment"
android:name=
"
uz.ssd.mobiuz
.ui.home.HomeFragment"
android:name=
"
com.mobiuz.app
.ui.home.HomeFragment"
android:label=
"fragment_home"
tools:layout=
"@layout/fragment_home"
/>
<fragment
android:id=
"@+id/blankFragment"
android:name=
"
uz.ssd.mobiuz
.BlankFragment"
android:name=
"
com.mobiuz.app
.BlankFragment"
android:label=
"fragment_blank"
tools:layout=
"@layout/fragment_blank"
/>
...
...
app/src/test/java/
uz/ssd/mobiuz
/ExampleUnitTest.kt
→
app/src/test/java/
com/mobiuz/app
/ExampleUnitTest.kt
View file @
71518399
package
uz.ssd.mobiuz
package
com.mobiuz.app
import
org.junit.Test
...
...
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