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
a4a65342
Commit
a4a65342
authored
Dec 11, 2021
by
shohboz
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[UPD]
MUS-107
Feature, updated home page add drawer
parent
a353d31c
Changes
11
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
964 additions
and
646 deletions
+964
-646
MainActivity.kt
app/src/main/java/com/mobiuz/app/dev/MainActivity.kt
+19
-17
MainRepository.kt
...a/com/mobiuz/app/dev/network/repository/MainRepository.kt
+32
-2
HomeImageView.kt
...main/java/com/mobiuz/app/dev/ui/auth/pin/HomeImageView.kt
+13
-0
HomeFragment.kt
app/src/main/java/com/mobiuz/app/dev/ui/home/HomeFragment.kt
+58
-20
HomeViewModel.kt
...src/main/java/com/mobiuz/app/dev/ui/home/HomeViewModel.kt
+2
-1
header.png
app/src/main/res/drawable/header.png
+0
-0
fragment_home.xml
app/src/main/res/layout/fragment_home.xml
+127
-274
fragment_home_content.xml
app/src/main/res/layout/fragment_home_content.xml
+358
-0
home_home.xml
app/src/main/res/layout/home_home.xml
+0
-318
home_motion.xml
app/src/main/res/layout/home_motion.xml
+354
-13
layout_sender.xml
app/src/main/res/layout/layout_sender.xml
+1
-1
No files found.
app/src/main/java/com/mobiuz/app/dev/MainActivity.kt
View file @
a4a65342
package
com.mobiuz.app.dev
import
android.Manifest
import
android.content.Intent
import
android.graphics.Color
import
android.os.Bundle
...
...
@@ -17,6 +18,7 @@ import com.mobiuz.app.dev.ui.global.CONSTANTS
import
com.mobiuz.app.dev.ui.global.FullScreenDialog
import
com.mobiuz.app.dev.utils.extensions.customLog
import
com.mobiuz.app.dev.utils.extensions.setupWithNavController
import
com.mobiuz.app.utils.checkPermission
import
dagger.hilt.android.AndroidEntryPoint
import
javax.inject.Inject
...
...
@@ -40,7 +42,7 @@ class MainActivity : AppCompatActivity() {
_bn
=
ActivityMainBinding
.
inflate
(
layoutInflater
)
setContentView
(
bn
.
root
)
window
.
statusBarColor
=
Color
.
TRANSPARENT
// window.statusBarColor = Color.RED
FirebaseApp
.
initializeApp
(
this
)
mFirebaseAnalytics
=
FirebaseAnalytics
.
getInstance
(
this
)
...
...
@@ -54,22 +56,22 @@ class MainActivity : AppCompatActivity() {
setupBottomNavigationBar
()
}
intent
?.
let
{
val
arg
=
it
.
getStringExtra
(
CONSTANTS
.
FIRST
)
?:
""
if
(
arg
.
isEmpty
())
{
val
dialog
=
FullScreenDialog
()
dialog
.
setOnPinDoneListener
{
pref
.
setUserToken
(
""
)
pref
.
isRegistered
=
false
pref
.
pin_code
=
""
val
intent
=
Intent
(
this
,
AuthActivity
::
class
.
java
)
intent
.
flags
=
Intent
.
FLAG_ACTIVITY_NEW_TASK
or
Intent
.
FLAG_ACTIVITY_TASK_ON_HOME
startActivity
(
intent
)
finish
()
}
dialog
.
show
(
supportFragmentManager
,
"tag"
)
}
}
//
intent?.let {
//
val arg = it.getStringExtra(CONSTANTS.FIRST) ?: ""
//
if (arg.isEmpty()) {
//
val dialog = FullScreenDialog()
//
dialog.setOnPinDoneListener {
//
pref.setUserToken("")
//
pref.isRegistered = false
//
pref.pin_code = ""
//
val intent = Intent(this, AuthActivity::class.java)
//
intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_TASK_ON_HOME
//
startActivity(intent)
//
finish()
//
}
//
dialog.show(supportFragmentManager, "tag")
//
}
//
}
customLog
(
"token: ${pref.getUserToken()}"
)
}
...
...
app/src/main/java/com/mobiuz/app/dev/network/repository/MainRepository.kt
View file @
a4a65342
package
com.mobiuz.app.dev.network.repository
import
android.content.Context
import
com.mobiuz.app.dev.model.SharedPref
import
com.mobiuz.app.dev.network.api.ApiService
import
com.mobiuz.app.dev.network.model.Customer
import
com.mobiuz.app.dev.network.model.UiStateObject
import
com.mobiuz.app.dev.utils.extensions.userMessage
import
dagger.hilt.android.qualifiers.ApplicationContext
import
javax.inject.Inject
import
javax.inject.Singleton
@Singleton
class
MainRepository
@Inject
constructor
(
private
val
apiService
:
ApiService
)
\ No newline at end of file
private
val
apiService
:
ApiService
,
private
val
pref
:
SharedPref
,
@ApplicationContext
val
context
:
Context
){
suspend
fun
mainIndex
():
UiStateObject
<
Customer
>
{
return
try
{
val
res
=
apiService
.
mainIndex
()
when
{
res
.
status
&&
res
.
data
!=
null
->
{
UiStateObject
.
SUCCESS
(
res
.
data
!!
)
}
res
.
errors
.
isNotEmpty
()
->
{
var
message
=
""
res
.
errors
.
forEach
{
message
+=
"${it.message}\n"
}
UiStateObject
.
ERROR
(
message
)
}
else
->
UiStateObject
.
ERROR
(
res
.
message
)
}
}
catch
(
e
:
Exception
)
{
UiStateObject
.
ERROR
(
e
.
userMessage
(
context
))
}
}
}
\ No newline at end of file
app/src/main/java/com/mobiuz/app/dev/ui/auth/pin/HomeImageView.kt
0 → 100644
View file @
a4a65342
package
com.mobiuz.app.dev.ui.auth.pin
import
android.content.Context
import
android.util.AttributeSet
import
com.makeramen.roundedimageview.RoundedImageView
class
HomeImageView
(
context
:
Context
,
atr
:
AttributeSet
)
:
RoundedImageView
(
context
,
atr
)
{
override
fun
onMeasure
(
widthMeasureSpec
:
Int
,
heightMeasureSpec
:
Int
)
{
super
.
onMeasure
(
widthMeasureSpec
,
heightMeasureSpec
)
val
width
=
measuredWidth
setMeasuredDimension
(
width
,
(
width
.
toFloat
()
*
0.794666667
).
toInt
())
}
}
\ No newline at end of file
app/src/main/java/com/mobiuz/app/dev/ui/home/HomeFragment.kt
View file @
a4a65342
...
...
@@ -2,8 +2,15 @@ package com.mobiuz.app.dev.ui.home
import
android.annotation.SuppressLint
import
android.content.Intent
import
android.graphics.Color
import
android.os.Bundle
import
android.util.Log
import
android.view.ScrollCaptureCallback
import
android.view.View
import
android.view.ViewTreeObserver
import
androidx.core.view.GravityCompat
import
androidx.core.view.isVisible
import
androidx.core.widget.NestedScrollView
import
androidx.fragment.app.viewModels
import
androidx.lifecycle.lifecycleScope
import
com.mobiuz.app.R
...
...
@@ -46,22 +53,53 @@ class HomeFragment : BaseFragment(R.layout.fragment_home) {
}
override
fun
setUpUI
()
{
bn
.
apply
{
btnMenu
.
setOnClickListener
(
object
:
ButtonClick
()
{
override
fun
onSingleClick
(
v
:
View
?)
{
showCustomExitDialog
{
pref
.
setUserToken
(
""
)
pref
.
isRegistered
=
false
pref
.
pin_code
=
""
val
intent
=
Intent
(
requireContext
(),
AuthActivity
::
class
.
java
)
intent
.
flags
=
Intent
.
FLAG_ACTIVITY_NEW_TASK
or
Intent
.
FLAG_ACTIVITY_TASK_ON_HOME
startActivity
(
intent
)
requireActivity
().
finish
()
}
btnExit
.
setOnClickListener
{
showCustomExitDialog
{
pref
.
setUserToken
(
""
)
pref
.
isRegistered
=
false
pref
.
pin_code
=
""
val
intent
=
Intent
(
requireContext
(),
AuthActivity
::
class
.
java
)
intent
.
flags
=
Intent
.
FLAG_ACTIVITY_NEW_TASK
or
Intent
.
FLAG_ACTIVITY_TASK_ON_HOME
startActivity
(
intent
)
requireActivity
().
finish
()
}
})
btnAddSum
.
setOnClickListener
(
object
:
ButtonClick
()
{
override
fun
onSingleClick
(
v
:
View
?)
{
}
btnLanguage
.
setOnClickListener
{
}
btnSafety
.
setOnClickListener
{
}
btnSupport
.
setOnClickListener
{
}
}
bn
.
content
.
apply
{
toolbar
.
setNavigationOnClickListener
{
bn
.
drawerLayout
.
openDrawer
(
GravityCompat
.
START
)
}
nestedScrollView
.
setOnScrollChangeListener
(
object
:
NestedScrollView
.
OnScrollChangeListener
{
override
fun
onScrollChange
(
v
:
NestedScrollView
?,
scrollX
:
Int
,
scrollY
:
Int
,
oldScrollX
:
Int
,
oldScrollY
:
Int
)
{
Log
.
e
(
"SSS"
,
"scrollX_"
+
scrollX
+
"_scrollY_"
+
scrollY
+
"_oldScrollX_"
+
oldScrollX
+
"_oldScrollY_"
+
oldScrollY
)
if
(
scrollY
>
100
){
toolbarInsideLayout
.
isVisible
=
true
// requireActivity().window.statusBarColor = Color.RED
// toolbar.setBackgroundColor(resources.getColor(R.color.primary100))
}
if
(
scrollY
<
90
){
toolbarInsideLayout
.
isVisible
=
false
// requireActivity().window.statusBarColor = Color.TRANSPARENT
// toolbar.setBackgroundColor(Color.TRANSPARENT)
}
}
})
...
...
@@ -81,10 +119,6 @@ class HomeFragment : BaseFragment(R.layout.fragment_home) {
showProgressDialog
(
false
)
// showCustomDialog(it.message,false){}
}
is
UiStateObject
.
ERRORS
->
{
showProgressDialog
(
false
)
}
is
UiStateObject
.
LOADING
->
{
showProgressDialog
(
true
)
}
...
...
@@ -99,7 +133,7 @@ class HomeFragment : BaseFragment(R.layout.fragment_home) {
try
{
customLog
(
"customer:$customer"
)
customer
?.
customer
?.
info
?.
let
{
bn
.
apply
{
bn
.
content
.
apply
{
txtBalance
.
text
=
"${it.balance?.amount?.toMoneyFormat()} ${it.balance?.currency}"
it
.
counters
.
let
{
txtCountMb
.
text
=
it
?.
BYTE
?.
value
?.
toMoneyFormat
()
?:
"0"
...
...
@@ -111,11 +145,15 @@ class HomeFragment : BaseFragment(R.layout.fragment_home) {
txtCountSms
.
text
=
it
?.
ITEM
?.
value
?.
toMoneyFormat
()
?:
"0"
txtTypeSms
.
text
=
it
?.
ITEM
?.
unit
?:
"sms"
}
bn
.
header
.
txtUserName
.
text
=
customer
?.
customer
?.
name
?:
""
txtTarif
.
text
=
customer
?.
customer
?.
tarifi
?.
name
?:
getString
(
R
.
string
.
my_tarif
)
txtMyNumber
.
text
=
pref
.
userPhone
toolbarMyNumber
.
text
=
pref
.
userPhone
bn
.
header
.
txtUserPhone
.
text
=
pref
.
userPhone
}
}
}
catch
(
e
:
Exception
)
{
showCustomDialog
(
e
.
userMessage
(
requireContext
()),
false
)
{}
// showSnackMessage(it.message)
}
...
...
app/src/main/java/com/mobiuz/app/dev/ui/home/HomeViewModel.kt
View file @
a4a65342
...
...
@@ -5,6 +5,7 @@ import androidx.lifecycle.viewModelScope
import
com.mobiuz.app.dev.network.model.Customer
import
com.mobiuz.app.dev.network.model.UiStateObject
import
com.mobiuz.app.dev.network.repository.AuthRepository
import
com.mobiuz.app.dev.network.repository.MainRepository
import
dagger.hilt.android.lifecycle.HiltViewModel
import
kotlinx.coroutines.flow.MutableStateFlow
import
kotlinx.coroutines.flow.StateFlow
...
...
@@ -13,7 +14,7 @@ import javax.inject.Inject
@HiltViewModel
class
HomeViewModel
@Inject
constructor
(
private
val
repository
:
Auth
Repository
private
val
repository
:
Main
Repository
)
:
ViewModel
()
{
private
val
_mainIndexUiState
=
MutableStateFlow
<
UiStateObject
<
Customer
>>(
UiStateObject
.
EMPTY
)
...
...
app/src/main/res/drawable/header.png
deleted
100644 → 0
View file @
a353d31c
143 KB
app/src/main/res/layout/fragment_home.xml
View file @
a4a65342
This diff is collapsed.
Click to expand it.
app/src/main/res/layout/fragment_home_content.xml
0 → 100644
View file @
a4a65342
This diff is collapsed.
Click to expand it.
app/src/main/res/layout/home_home.xml
deleted
100644 → 0
View file @
a353d31c
This diff is collapsed.
Click to expand it.
app/src/main/res/layout/home_motion.xml
View file @
a4a65342
This diff is collapsed.
Click to expand it.
app/src/main/res/layout/layout_sender.xml
View file @
a4a65342
...
...
@@ -55,7 +55,7 @@
<View
android:layout_width=
"match_parent"
android:background=
"@color/
light
"
android:background=
"@color/
grey20
"
android:layout_height=
"1dp"
/>
<TextView
...
...
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