Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
D
DemoTuyaKotlin
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Vũ Nguyễn Cường
DemoTuyaKotlin
Commits
446a7e24
Commit
446a7e24
authored
Feb 29, 2024
by
vunguyencuong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
done login
parent
663ed947
Pipeline
#1960
failed with stages
Changes
69
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
69 changed files
with
2220 additions
and
68 deletions
+2220
-68
build.gradle
app/build.gradle
+1
-1
AndroidManifest.xml
app/src/main/AndroidManifest.xml
+15
-14
MainSampleListActivity.kt
...ava/com/tuya/appsdk/sample/main/MainSampleListActivity.kt
+1
-6
UserFuncActivity.kt
...java/com/tuya/appsdk/sample/user/main/UserFuncActivity.kt
+1
-6
MainActivity.kt
...n/java/com/tuya/appsdk/sample/viettelhome/MainActivity.kt
+21
-0
DeviceAdapter.kt
...m/tuya/appsdk/sample/viettelhome/adapter/DeviceAdapter.kt
+45
-0
RoomPagerAdapter.kt
...uya/appsdk/sample/viettelhome/adapter/RoomPagerAdapter.kt
+29
-0
Device.kt
.../java/com/tuya/appsdk/sample/viettelhome/device/Device.kt
+38
-0
ListDeviceItemFragment.kt
...ppsdk/sample/viettelhome/device/ListDeviceItemFragment.kt
+27
-0
DeviceFragment.kt
...com/tuya/appsdk/sample/viettelhome/home/DeviceFragment.kt
+74
-0
HomeManageFragment.kt
...tuya/appsdk/sample/viettelhome/home/HomeManageFragment.kt
+54
-0
HomePageFragment.kt
...m/tuya/appsdk/sample/viettelhome/home/HomePageFragment.kt
+23
-0
PersonalFragment.kt
...m/tuya/appsdk/sample/viettelhome/home/PersonalFragment.kt
+22
-0
RoomFragment.kt
...a/com/tuya/appsdk/sample/viettelhome/home/RoomFragment.kt
+39
-0
ScenceFragment.kt
...com/tuya/appsdk/sample/viettelhome/home/ScenceFragment.kt
+22
-0
ShoppingFragment.kt
...m/tuya/appsdk/sample/viettelhome/home/ShoppingFragment.kt
+23
-0
LoginFragment.kt
...com/tuya/appsdk/sample/viettelhome/login/LoginFragment.kt
+167
-0
RoomFragment.kt
...a/com/tuya/appsdk/sample/viettelhome/room/RoomFragment.kt
+37
-0
bg_background_device.png
app/src/main/res/drawable/bg_background_device.png
+0
-0
bg_background_gradient_radius_8.xml
...src/main/res/drawable/bg_background_gradient_radius_8.xml
+12
-0
bg_background_gradius_top_left_24.xml
...c/main/res/drawable/bg_background_gradius_top_left_24.xml
+9
-0
bg_background_radius_100.xml
app/src/main/res/drawable/bg_background_radius_100.xml
+9
-0
bg_background_radius_100_error.xml
app/src/main/res/drawable/bg_background_radius_100_error.xml
+9
-0
bg_background_radius_100_onclick.xml
...rc/main/res/drawable/bg_background_radius_100_onclick.xml
+9
-0
bg_background_radius_15.xml
app/src/main/res/drawable/bg_background_radius_15.xml
+9
-0
bg_background_viettel_home.png
app/src/main/res/drawable/bg_background_viettel_home.png
+0
-0
bg_gradient.xml
app/src/main/res/drawable/bg_gradient.xml
+7
-0
ic_add_circle.xml
app/src/main/res/drawable/ic_add_circle.xml
+53
-0
ic_cart.xml
app/src/main/res/drawable/ic_cart.xml
+10
-0
ic_checked.xml
app/src/main/res/drawable/ic_checked.xml
+24
-0
ic_close.xml
app/src/main/res/drawable/ic_close.xml
+16
-0
ic_device.xml
app/src/main/res/drawable/ic_device.xml
+36
-0
ic_down_arrow.xml
app/src/main/res/drawable/ic_down_arrow.xml
+9
-0
ic_eye_close.xml
app/src/main/res/drawable/ic_eye_close.xml
+20
-0
ic_home.xml
app/src/main/res/drawable/ic_home.xml
+10
-0
ic_key_password.xml
app/src/main/res/drawable/ic_key_password.xml
+27
-0
ic_launcher_background.xml
app/src/main/res/drawable/ic_launcher_background.xml
+170
-0
ic_launcher_foreground.xml
app/src/main/res/drawable/ic_launcher_foreground.xml
+30
-0
ic_logo_viettel_home.xml
app/src/main/res/drawable/ic_logo_viettel_home.xml
+73
-0
ic_menu.xml
app/src/main/res/drawable/ic_menu.xml
+21
-0
ic_narrow_up.xml
app/src/main/res/drawable/ic_narrow_up.xml
+9
-0
ic_offline_status.xml
app/src/main/res/drawable/ic_offline_status.xml
+9
-0
ic_online_status.xml
app/src/main/res/drawable/ic_online_status.xml
+9
-0
ic_otp.xml
app/src/main/res/drawable/ic_otp.xml
+23
-0
ic_personal.xml
app/src/main/res/drawable/ic_personal.xml
+9
-0
ic_phone.xml
app/src/main/res/drawable/ic_phone.xml
+9
-0
ic_scence.xml
app/src/main/res/drawable/ic_scence.xml
+12
-0
ic_unchecked.xml
app/src/main/res/drawable/ic_unchecked.xml
+9
-0
ic_viettel_home.xml
app/src/main/res/drawable/ic_viettel_home.xml
+73
-0
img_plug.png
app/src/main/res/drawable/img_plug.png
+0
-0
selector_checkbox.xml
app/src/main/res/drawable/selector_checkbox.xml
+7
-0
selector_item.xml
app/src/main/res/drawable/selector_item.xml
+12
-0
activity_main.xml
app/src/main/res/layout/activity_main.xml
+24
-0
fragment_device.xml
app/src/main/res/layout/fragment_device.xml
+153
-0
fragment_home_manage.xml
app/src/main/res/layout/fragment_home_manage.xml
+24
-0
fragment_home_page.xml
app/src/main/res/layout/fragment_home_page.xml
+14
-0
fragment_list_device_item.xml
app/src/main/res/layout/fragment_list_device_item.xml
+65
-0
fragment_login.xml
app/src/main/res/layout/fragment_login.xml
+248
-0
fragment_personal.xml
app/src/main/res/layout/fragment_personal.xml
+14
-0
fragment_room.xml
app/src/main/res/layout/fragment_room.xml
+69
-0
fragment_scence.xml
app/src/main/res/layout/fragment_scence.xml
+14
-0
fragment_shopping.xml
app/src/main/res/layout/fragment_shopping.xml
+14
-0
item_device.xml
app/src/main/res/layout/item_device.xml
+68
-0
item_spinner.xml
app/src/main/res/layout/item_spinner.xml
+15
-0
tab_custom.xml
app/src/main/res/layout/tab_custom.xml
+8
-0
bottom_nav_menu.xml
app/src/main/res/menu/bottom_nav_menu.xml
+29
-0
my_nav.xml
app/src/main/res/navigation/my_nav.xml
+22
-0
color_gradient.xml
app/src/main/res/values/color_gradient.xml
+7
-0
strings.xml
app/src/main/res/values/strings.xml
+49
-41
No files found.
app/build.gradle
View file @
446a7e24
...
...
@@ -87,6 +87,7 @@ dependencies {
implementation
'androidx.core:core-ktx:1.3.2'
implementation
'androidx.appcompat:appcompat:1.2.0'
implementation
'com.google.android.material:material:1.3.0-alpha04'
implementation
'androidx.viewpager2:viewpager2:1.0.0'
implementation
'androidx.constraintlayout:constraintlayout:2.0.4'
implementation
'androidx.navigation:navigation-fragment-ktx:2.2.2'
implementation
'androidx.navigation:navigation-ui-ktx:2.2.2'
...
...
@@ -106,5 +107,4 @@ dependencies {
implementation
project
(
":sweeper"
)
implementation
'cn.yipianfengye.android:zxing-library:2.2'
}
\ No newline at end of file
app/src/main/AndroidManifest.xml
View file @
446a7e24
...
...
@@ -3,38 +3,39 @@
xmlns:tools=
"http://schemas.android.com/tools"
package=
"com.tuya.appsdk.sample"
>
<application
android:name=
".BaseApplication"
android:allowBackup=
"true"
android:icon=
"@mipmap/ic_launcher"
android:label=
"@string/app_name"
android:supportsRtl=
"true"
android:name=
".BaseApplication"
android:theme=
"@style/Theme.MaterialComponents.Light.NoActionBar"
tools:replace=
"android:allowBackup,android:supportsRtl"
>
<activity
android:name=
".viettelhome.MainActivity"
android:screenOrientation=
"portrait"
>
<intent-filter>
<action
android:name=
"android.intent.action.MAIN"
/>
<category
android:name=
"android.intent.category.LAUNCHER"
/>
</intent-filter>
</activity>
<meta-data
android:name=
"THING_SMART_APPKEY"
android:value=
"crvyt9phy3wr7md4jkcv"
/>
<meta-data
android:name=
"THING_SMART_SECRET"
android:value=
"qfuh5mp5k5ady4k3khgeywdppjhrgqvv"
/>
<!-- Main -->
android:value=
"qfuh5mp5k5ady4k3khgeywdppjhrgqvv"
/>
<!-- Main -->
<activity
android:name=
".main.MainSampleListActivity"
android:exported=
"false"
android:screenOrientation=
"portrait"
/>
<!-- User -->
android:screenOrientation=
"portrait"
/>
<!-- User -->
<activity
android:name=
".user.main.UserFuncActivity"
android:screenOrientation=
"portrait"
>
<intent-filter>
<action
android:name=
"android.intent.action.MAIN"
/>
<category
android:name=
"android.intent.category.LAUNCHER"
/>
</intent-filter>
</activity>
android:exported=
"false"
/>
<activity
android:name=
".user.login.UserLoginActivity"
android:exported=
"false"
...
...
app/src/main/java/com/tuya/appsdk/sample/main/MainSampleListActivity.kt
View file @
446a7e24
...
...
@@ -27,12 +27,7 @@ import com.tuya.appsdk.sample.user.main.UserFuncActivity
import
com.thingclips.smart.android.user.api.ILogoutCallback
import
com.thingclips.smart.home.sdk.ThingHomeSdk
/**
* Sample Main List Page
*
* @author qianqi <a href="mailto:developer@tuya.com"/>
* @since 2021/1/8 5:41 PM
*/
class
MainSampleListActivity
:
AppCompatActivity
()
{
lateinit
var
homeFuncWidget
:
HomeFuncWidget
...
...
app/src/main/java/com/tuya/appsdk/sample/user/main/UserFuncActivity.kt
View file @
446a7e24
...
...
@@ -27,12 +27,7 @@ import com.tuya.appsdk.sample.user.register.UserRegisterActivity
import
com.thingclips.smart.home.sdk.ThingHomeSdk
/**
* User Func Navigation Page
*
* @author qianqi <a href="mailto:developer@tuya.com"/>
* @since 2021/1/5 4:31 PM
*/
class
UserFuncActivity
:
AppCompatActivity
(),
View
.
OnClickListener
{
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
...
...
app/src/main/java/com/tuya/appsdk/sample/viettelhome/MainActivity.kt
0 → 100644
View file @
446a7e24
package
com.tuya.appsdk.sample.viettelhome
import
androidx.appcompat.app.AppCompatActivity
import
android.os.Bundle
import
androidx.navigation.NavController
import
androidx.navigation.fragment.NavHostFragment
import
com.tuya.appsdk.sample.R
class
MainActivity
:
AppCompatActivity
()
{
private
lateinit
var
navController
:
NavController
override
fun
onCreate
(
savedInstanceState
:
Bundle
?)
{
super
.
onCreate
(
savedInstanceState
)
setContentView
(
R
.
layout
.
activity_main
)
val
navHostFragment
=
supportFragmentManager
.
findFragmentById
(
R
.
id
.
fragmentContainerView
)
as
NavHostFragment
navController
=
navHostFragment
.
navController
}
}
\ No newline at end of file
app/src/main/java/com/tuya/appsdk/sample/viettelhome/adapter/DeviceAdapter.kt
0 → 100644
View file @
446a7e24
package
com.tuya.appsdk.sample.viettelhome.adapter
import
android.view.LayoutInflater
import
android.view.View
import
android.view.ViewGroup
import
android.widget.ImageView
import
android.widget.TextView
import
androidx.recyclerview.widget.RecyclerView
import
com.tuya.appsdk.sample.R
import
com.tuya.appsdk.sample.viettelhome.device.Device
class
DeviceAdapter
(
private
val
devices
:
List
<
Device
>)
:
RecyclerView
.
Adapter
<
DeviceAdapter
.
ViewHolder
>()
{
class
ViewHolder
(
itemView
:
View
)
:
RecyclerView
.
ViewHolder
(
itemView
){
val
imgDevice
:
ImageView
=
itemView
.
findViewById
(
R
.
id
.
img_device
)
val
tvNameDevice
:
TextView
=
itemView
.
findViewById
(
R
.
id
.
tv_name_device
)
val
tvPositionDevice
:
TextView
=
itemView
.
findViewById
(
R
.
id
.
tv_position
)
val
imgStatusDevice
:
ImageView
=
itemView
.
findViewById
(
R
.
id
.
img_status_device
)
val
tvStatusDevice
:
TextView
=
itemView
.
findViewById
(
R
.
id
.
tv_status_device
)
}
override
fun
onCreateViewHolder
(
parent
:
ViewGroup
,
viewType
:
Int
):
ViewHolder
{
val
view
=
LayoutInflater
.
from
(
parent
.
context
).
inflate
(
R
.
layout
.
item_device
,
parent
,
false
)
return
ViewHolder
(
view
)
}
override
fun
onBindViewHolder
(
holder
:
ViewHolder
,
position
:
Int
)
{
holder
.
imgDevice
.
setBackgroundResource
(
devices
[
position
].
getImg
())
holder
.
tvNameDevice
.
text
=
devices
[
position
].
getName
()
holder
.
tvPositionDevice
.
text
=
devices
[
position
].
getPosition
()
if
(
devices
[
position
].
getStatus
()
==
1
){
holder
.
imgStatusDevice
.
setBackgroundResource
(
R
.
drawable
.
ic_online_status
)
holder
.
tvStatusDevice
.
text
=
"Trực tuyến"
}
else
{
holder
.
imgStatusDevice
.
setBackgroundResource
(
R
.
drawable
.
ic_offline_status
)
holder
.
tvStatusDevice
.
text
=
"Mất kết nối"
}
}
override
fun
getItemCount
():
Int
{
return
devices
.
size
}
}
\ No newline at end of file
app/src/main/java/com/tuya/appsdk/sample/viettelhome/adapter/RoomPagerAdapter.kt
0 → 100644
View file @
446a7e24
package
com.tuya.appsdk.sample.viettelhome.adapter
import
androidx.fragment.app.Fragment
import
androidx.fragment.app.FragmentManager
import
androidx.lifecycle.Lifecycle
import
androidx.viewpager2.adapter.FragmentStateAdapter
import
com.thingclips.bouncycastle.asn1.x500.style.RFC4519Style.title
class
RoomPagerAdapter
(
fragmentManager
:
FragmentManager
,
lifecycle
:
Lifecycle
)
:
FragmentStateAdapter
(
fragmentManager
,
lifecycle
)
{
private
val
fragments
:
ArrayList
<
Fragment
>
=
ArrayList
()
// private val fragmentTitles : ArrayList<String> = ArrayList()
fun
addFragment
(
fragment
:
Fragment
){
fragments
.
add
(
fragment
)
// fragmentTitles.add(title)
}
override
fun
getItemCount
():
Int
{
return
fragments
.
size
}
override
fun
createFragment
(
position
:
Int
):
Fragment
{
return
fragments
[
position
]
}
// fun getTabTitle(position : Int) : CharSequence{
// return fragmentTitles[position]
// }
}
\ No newline at end of file
app/src/main/java/com/tuya/appsdk/sample/viettelhome/device/Device.kt
0 → 100644
View file @
446a7e24
package
com.tuya.appsdk.sample.viettelhome.device
class
Device
(
private
var
img
:
Int
,
private
var
name
:
String
,
private
var
position
:
String
,
private
var
status
:
Int
)
{
fun
getImg
()
:
Int
{
return
img
}
fun
setImg
(
newImg
:
Int
){
img
=
newImg
}
fun
getName
()
:
String
{
return
name
}
fun
setName
(
newName
:
String
){
name
=
newName
}
fun
getPosition
()
:
String
{
return
position
}
fun
setPosition
(
newPosition
:
String
){
position
=
newPosition
}
fun
getStatus
()
:
Int
{
return
status
}
fun
setStatus
(
newStatus
:
Int
){
status
=
newStatus
}
}
\ No newline at end of file
app/src/main/java/com/tuya/appsdk/sample/viettelhome/device/ListDeviceItemFragment.kt
0 → 100644
View file @
446a7e24
package
com.tuya.appsdk.sample.viettelhome.device
import
android.os.Bundle
import
android.util.Log
import
android.view.LayoutInflater
import
android.view.View
import
android.view.ViewGroup
import
androidx.fragment.app.Fragment
import
androidx.recyclerview.widget.LinearLayoutManager
import
com.tuya.appsdk.sample.R
import
com.tuya.appsdk.sample.databinding.FragmentListDeviceItemBinding
import
com.tuya.appsdk.sample.viettelhome.adapter.DeviceAdapter
class
ListDeviceItemFragment
:
Fragment
()
{
private
lateinit
var
binding
:
FragmentListDeviceItemBinding
override
fun
onCreateView
(
inflater
:
LayoutInflater
,
container
:
ViewGroup
?,
savedInstanceState
:
Bundle
?
):
View
?
{
binding
=
FragmentListDeviceItemBinding
.
inflate
(
layoutInflater
)
return
binding
.
root
}
}
\ No newline at end of file
app/src/main/java/com/tuya/appsdk/sample/viettelhome/home/DeviceFragment.kt
0 → 100644
View file @
446a7e24
package
com.tuya.appsdk.sample.viettelhome.home
import
android.graphics.Color
import
android.os.Bundle
import
android.view.LayoutInflater
import
android.view.View
import
android.view.ViewGroup
import
android.widget.TextView
import
androidx.core.content.ContextCompat
import
androidx.fragment.app.Fragment
import
androidx.viewpager2.widget.ViewPager2
import
com.google.android.material.tabs.TabLayout
import
com.google.android.material.tabs.TabLayoutMediator
import
com.tuya.appsdk.sample.R
import
com.tuya.appsdk.sample.databinding.FragmentDeviceBinding
import
com.tuya.appsdk.sample.viettelhome.adapter.RoomPagerAdapter
import
com.tuya.appsdk.sample.viettelhome.room.RoomFragment
class
DeviceFragment
:
Fragment
()
{
private
lateinit
var
bindind
:
FragmentDeviceBinding
private
val
titles
=
arrayOf
(
"Tất cả các thiết bị"
,
"Phòng khách"
,
"Phòng ngủ"
,
"Phòng bếp"
,
"Phòng vệ sinh"
)
override
fun
onCreateView
(
inflater
:
LayoutInflater
,
container
:
ViewGroup
?,
savedInstanceState
:
Bundle
?
):
View
?
{
// Inflate the layout for this fragment
bindind
=
FragmentDeviceBinding
.
inflate
(
layoutInflater
)
val
viewPager
:
ViewPager2
=
bindind
.
viewpager2
val
tabLayout
:
TabLayout
=
bindind
.
tbLayout
val
roomAdapter
=
RoomPagerAdapter
(
childFragmentManager
,
lifecycle
)
// roomAdapter.addFragment(RoomFragment(),"Tất cả các thiết bị")
// roomAdapter.addFragment(RoomFragment(),"Phòng khách")
// roomAdapter.addFragment(RoomFragment(),"Phòng ngủ")
// roomAdapter.addFragment(RoomFragment(),"Phòng bếp")
// roomAdapter.addFragment(RoomFragment(),"Phòng vệ sinh")
roomAdapter
.
addFragment
(
RoomFragment
.
newInstance
())
roomAdapter
.
addFragment
(
RoomFragment
.
newInstance
())
roomAdapter
.
addFragment
(
RoomFragment
.
newInstance
())
roomAdapter
.
addFragment
(
RoomFragment
.
newInstance
())
roomAdapter
.
addFragment
(
RoomFragment
.
newInstance
())
roomAdapter
.
notifyDataSetChanged
()
viewPager
.
adapter
=
roomAdapter
viewPager
.
isSaveEnabled
=
false
TabLayoutMediator
(
tabLayout
,
viewPager
){
tab
,
position
->
tab
.
customView
=
LayoutInflater
.
from
(
requireContext
()).
inflate
(
R
.
layout
.
tab_custom
,
null
)
tab
.
customView
?.
findViewById
<
TextView
>(
R
.
id
.
tab_title
)
?.
text
=
titles
[
position
]
}.
attach
()
tabLayout
.
addOnTabSelectedListener
(
object
:
TabLayout
.
OnTabSelectedListener
{
override
fun
onTabSelected
(
tab
:
TabLayout
.
Tab
?)
{
tab
?.
customView
?.
findViewById
<
TextView
>(
R
.
id
.
tab_title
)
?.
setTextColor
(
Color
.
parseColor
(
"#EC0D3A"
))
}
override
fun
onTabUnselected
(
tab
:
TabLayout
.
Tab
?)
{
tab
?.
customView
?.
findViewById
<
TextView
>(
R
.
id
.
tab_title
)
?.
setTextColor
(
Color
.
parseColor
(
"#4E4E4E"
))
}
override
fun
onTabReselected
(
tab
:
TabLayout
.
Tab
?)
{
tab
?.
customView
?.
findViewById
<
TextView
>(
R
.
id
.
tab_title
)
?.
setTextColor
(
Color
.
parseColor
(
"#EC0D3A"
))
}
})
return
bindind
.
root
}
}
\ No newline at end of file
app/src/main/java/com/tuya/appsdk/sample/viettelhome/home/HomeManageFragment.kt
0 → 100644
View file @
446a7e24
package
com.tuya.appsdk.sample.viettelhome.home
import
android.content.res.ColorStateList
import
android.os.Bundle
import
androidx.fragment.app.Fragment
import
android.view.LayoutInflater
import
android.view.View
import
android.view.ViewGroup
import
androidx.core.content.ContextCompat
import
com.google.android.material.bottomnavigation.BottomNavigationView
import
com.tuya.appsdk.sample.R
import
com.tuya.appsdk.sample.databinding.FragmentHomeManageBinding
import
com.tuya.appsdk.sample.databinding.FragmentLoginBinding
class
HomeManageFragment
:
Fragment
()
{
private
lateinit
var
binding
:
FragmentHomeManageBinding
private
lateinit
var
homePageFragment
:
HomePageFragment
private
lateinit
var
deviceFragment
:
DeviceFragment
private
lateinit
var
scenceFragment
:
ScenceFragment
private
lateinit
var
shoppingFragment
:
ShoppingFragment
private
lateinit
var
personalFragment
:
PersonalFragment
override
fun
onCreateView
(
inflater
:
LayoutInflater
,
container
:
ViewGroup
?,
savedInstanceState
:
Bundle
?
):
View
?
{
binding
=
FragmentHomeManageBinding
.
inflate
(
layoutInflater
)
val
bottomNavigationView
=
binding
.
bottomNavigation
homePageFragment
=
HomePageFragment
()
deviceFragment
=
DeviceFragment
()
scenceFragment
=
ScenceFragment
()
shoppingFragment
=
ShoppingFragment
()
personalFragment
=
PersonalFragment
()
requireActivity
().
supportFragmentManager
.
beginTransaction
().
replace
(
R
.
id
.
container
,
homePageFragment
).
commit
()
bottomNavigationView
.
setOnItemSelectedListener
{
var
selectedFragment
:
Fragment
?
=
null
when
(
it
.
itemId
)
{
R
.
id
.
nav_home
->
selectedFragment
=
homePageFragment
R
.
id
.
nav_device
->
selectedFragment
=
deviceFragment
R
.
id
.
nav_scence
->
selectedFragment
=
scenceFragment
R
.
id
.
nav_shopping
->
selectedFragment
=
shoppingFragment
R
.
id
.
nav_personal
->
selectedFragment
=
personalFragment
}
requireActivity
().
supportFragmentManager
.
beginTransaction
().
replace
(
R
.
id
.
container
,
selectedFragment
!!
).
commit
()
true
}
return
binding
.
root
}
}
\ No newline at end of file
app/src/main/java/com/tuya/appsdk/sample/viettelhome/home/HomePageFragment.kt
0 → 100644
View file @
446a7e24
package
com.tuya.appsdk.sample.viettelhome.home
import
android.os.Bundle
import
androidx.fragment.app.Fragment
import
android.view.LayoutInflater
import
android.view.View
import
android.view.ViewGroup
import
com.tuya.appsdk.sample.R
class
HomePageFragment
:
Fragment
()
{
override
fun
onCreateView
(
inflater
:
LayoutInflater
,
container
:
ViewGroup
?,
savedInstanceState
:
Bundle
?
):
View
?
{
// Inflate the layout for this fragment
return
inflater
.
inflate
(
R
.
layout
.
fragment_home_page
,
container
,
false
)
}
}
\ No newline at end of file
app/src/main/java/com/tuya/appsdk/sample/viettelhome/home/PersonalFragment.kt
0 → 100644
View file @
446a7e24
package
com.tuya.appsdk.sample.viettelhome.home
import
android.os.Bundle
import
androidx.fragment.app.Fragment
import
android.view.LayoutInflater
import
android.view.View
import
android.view.ViewGroup
import
com.tuya.appsdk.sample.R
class
PersonalFragment
:
Fragment
()
{
override
fun
onCreateView
(
inflater
:
LayoutInflater
,
container
:
ViewGroup
?,
savedInstanceState
:
Bundle
?
):
View
?
{
// Inflate the layout for this fragment
return
inflater
.
inflate
(
R
.
layout
.
fragment_personal
,
container
,
false
)
}
}
\ No newline at end of file
app/src/main/java/com/tuya/appsdk/sample/viettelhome/home/RoomFragment.kt
0 → 100644
View file @
446a7e24
package
com.tuya.appsdk.sample.viettelhome.home
import
android.os.Bundle
import
android.view.LayoutInflater
import
android.view.View
import
android.view.ViewGroup
import
androidx.fragment.app.Fragment
import
androidx.recyclerview.widget.LinearLayoutManager
import
com.tuya.appsdk.sample.R
import
com.tuya.appsdk.sample.databinding.FragmentListDeviceItemBinding
import
com.tuya.appsdk.sample.databinding.FragmentRoomBinding
import
com.tuya.appsdk.sample.viettelhome.adapter.DeviceAdapter
import
com.tuya.appsdk.sample.viettelhome.device.Device
class
RoomFragment
:
Fragment
()
{
private
lateinit
var
binding
:
FragmentRoomBinding
val
img
=
R
.
drawable
.
img_plug
.
toString
()
private
val
demoList
=
listOf
(
Device
(
img
.
toInt
(),
"Ổ cắm thông minh 1"
,
"Phòng khách"
,
1
),
Device
(
img
.
toInt
(),
"Ổ cắm thông minh 2"
,
"Phòng khách"
,
0
),
Device
(
img
.
toInt
(),
"Ổ cắm thông minh 3"
,
"Phòng khách"
,
0
),
Device
(
img
.
toInt
(),
"Ổ cắm thông minh 4"
,
"Phòng khách"
,
1
),
Device
(
img
.
toInt
(),
"Ổ cắm thông minh 5"
,
"Phòng khách"
,
1
),
)
override
fun
onCreateView
(
inflater
:
LayoutInflater
,
container
:
ViewGroup
?,
savedInstanceState
:
Bundle
?
):
View
?
{
binding
=
FragmentRoomBinding
.
inflate
(
layoutInflater
)
binding
.
layoutListDevice
.
recycleListDeviceItem
.
apply
{
layoutManager
=
LinearLayoutManager
(
requireContext
())
adapter
=
DeviceAdapter
(
demoList
)
}
return
binding
.
root
}
}
\ No newline at end of file
app/src/main/java/com/tuya/appsdk/sample/viettelhome/home/ScenceFragment.kt
0 → 100644
View file @
446a7e24
package
com.tuya.appsdk.sample.viettelhome.home
import
android.os.Bundle
import
androidx.fragment.app.Fragment
import
android.view.LayoutInflater
import
android.view.View
import
android.view.ViewGroup
import
com.tuya.appsdk.sample.R
class
ScenceFragment
:
Fragment
()
{
override
fun
onCreateView
(
inflater
:
LayoutInflater
,
container
:
ViewGroup
?,
savedInstanceState
:
Bundle
?
):
View
?
{
// Inflate the layout for this fragment
return
inflater
.
inflate
(
R
.
layout
.
fragment_scence
,
container
,
false
)
}
}
\ No newline at end of file
app/src/main/java/com/tuya/appsdk/sample/viettelhome/home/ShoppingFragment.kt
0 → 100644
View file @
446a7e24
package
com.tuya.appsdk.sample.viettelhome.home
import
android.os.Bundle
import
androidx.fragment.app.Fragment
import
android.view.LayoutInflater
import
android.view.View
import
android.view.ViewGroup
import
com.tuya.appsdk.sample.R
class
ShoppingFragment
:
Fragment
()
{
override
fun
onCreateView
(
inflater
:
LayoutInflater
,
container
:
ViewGroup
?,
savedInstanceState
:
Bundle
?
):
View
?
{
// Inflate the layout for this fragment
return
inflater
.
inflate
(
R
.
layout
.
fragment_shopping
,
container
,
false
)
}
}
\ No newline at end of file
app/src/main/java/com/tuya/appsdk/sample/viettelhome/login/LoginFragment.kt
0 → 100644
View file @
446a7e24
package
com.tuya.appsdk.sample.viettelhome.login
import
android.os.Bundle
import
android.text.Editable
import
android.text.TextWatcher
import
android.text.method.PasswordTransformationMethod
import
android.util.Log
import
androidx.fragment.app.Fragment
import
android.view.LayoutInflater
import
android.view.View
import
android.view.ViewGroup
import
android.widget.Toast
import
androidx.core.widget.addTextChangedListener
import
androidx.navigation.fragment.findNavController
import
com.thingclips.smart.android.common.utils.ValidatorUtil
import
com.thingclips.smart.android.user.api.ILoginCallback
import
com.thingclips.smart.android.user.bean.User
import
com.thingclips.smart.home.sdk.ThingHomeSdk
import
com.tuya.appsdk.sample.R
import
com.tuya.appsdk.sample.databinding.FragmentLoginBinding
class
LoginFragment
:
Fragment
()
{
private
lateinit
var
binding
:
FragmentLoginBinding
private
var
haveUsername
=
0
;
private
var
havePassword
=
0
;
override
fun
onCreateView
(
inflater
:
LayoutInflater
,
container
:
ViewGroup
?,
savedInstanceState
:
Bundle
?
):
View
?
{
binding
=
FragmentLoginBinding
.
inflate
(
layoutInflater
)
initView
()
enterPhoneNumber
()
enterPassword
()
return
binding
.
root
}
private
fun
initView
(){
binding
.
tvErrorPhoneNumber
.
visibility
=
View
.
GONE
binding
.
tvNullPassword
.
visibility
=
View
.
GONE
}
private
fun
enterPhoneNumber
()
{
binding
.
etPhoneNumber
.
addTextChangedListener
(
object
:
TextWatcher
{
override
fun
beforeTextChanged
(
charSequence
:
CharSequence
,
i
:
Int
,
i1
:
Int
,
i2
:
Int
)
{
binding
.
imgCloseAllNumber
.
visibility
=
View
.
VISIBLE
}
override
fun
onTextChanged
(
charSequence
:
CharSequence
,
i
:
Int
,
i1
:
Int
,
i2
:
Int
)
{
binding
.
imgCloseAllNumber
.
visibility
=
View
.
VISIBLE
}
override
fun
afterTextChanged
(
editable
:
Editable
)
{
if
(
editable
.
isNotEmpty
())
{
binding
.
imgCloseAllNumber
.
visibility
=
View
.
VISIBLE
}
else
{
binding
.
imgCloseAllNumber
.
visibility
=
View
.
INVISIBLE
}
}
})
binding
.
imgCloseAllNumber
.
setOnClickListener
{
// Xóa nội dung của EditText
binding
.
etPhoneNumber
.
setText
(
""
)
// Ẩn ImageView
binding
.
imgCloseAllNumber
.
visibility
=
View
.
INVISIBLE
}
}
private
fun
enterPassword
(){
binding
.
etPassword
.
addTextChangedListener
(
object
:
TextWatcher
{
override
fun
beforeTextChanged
(
p0
:
CharSequence
?,
p1
:
Int
,
p2
:
Int
,
p3
:
Int
)
{
binding
.
imgCloseAllPassword
.
visibility
=
View
.
VISIBLE
}
override
fun
onTextChanged
(
p0
:
CharSequence
?,
p1
:
Int
,
p2
:
Int
,
p3
:
Int
)
{
binding
.
imgCloseAllPassword
.
visibility
=
View
.
VISIBLE
}
override
fun
afterTextChanged
(
editable
:
Editable
?)
{
if
(
editable
?.
isNotEmpty
()
==
true
){
binding
.
imgCloseAllPassword
.
visibility
=
View
.
VISIBLE
}
else
{
binding
.
imgCloseAllPassword
.
visibility
=
View
.
INVISIBLE
}
}
})
binding
.
imgCloseAllPassword
.
setOnClickListener
{
binding
.
etPassword
.
setText
(
""
)
binding
.
imgCloseAllPassword
.
visibility
=
View
.
INVISIBLE
}
binding
.
etPassword
.
transformationMethod
=
PasswordTransformationMethod
.
getInstance
()
binding
.
imgEyeClose
.
setOnClickListener
{
togglePasswordVisibility
()
}
binding
.
btnLogin
.
setOnClickListener
{
Log
.
d
(
"click"
,
"enterPassword: have click"
)
if
(!
binding
.
etPhoneNumber
.
text
.
toString
().
contains
(
'@'
)){
binding
.
tvErrorPhoneNumber
.
visibility
=
View
.
VISIBLE
binding
.
linearEnterPhoneNumber
.
setBackgroundResource
(
R
.
drawable
.
bg_background_radius_100_error
)
}
else
{
binding
.
tvErrorPhoneNumber
.
visibility
=
View
.
GONE
}
if
(
binding
.
etPassword
.
text
.
toString
().
isEmpty
())
{
binding
.
tvNullPassword
.
text
=
"Vui lòng nhập mật khẩu"
binding
.
tvNullPassword
.
visibility
=
View
.
VISIBLE
binding
.
linearEnterPassword
.
setBackgroundResource
(
R
.
drawable
.
bg_background_radius_100_error
)
}
else
{
val
countrycode
=
"84"
val
strAccount
=
binding
.
etPhoneNumber
.
text
.
toString
()
val
password
=
binding
.
etPassword
.
text
.
toString
()
val
callback
=
object
:
ILoginCallback
{
override
fun
onSuccess
(
user
:
User
?)
{
Toast
.
makeText
(
context
,
"Login success"
,
Toast
.
LENGTH_LONG
).
show
()
findNavController
().
navigate
(
R
.
id
.
action_loginFragment_to_homeManageFragment
)
}
override
fun
onError
(
code
:
String
?,
error
:
String
?)
{
binding
.
tvNullPassword
.
setText
(
"Tài khoản hoặc mật khẩu không chính xác."
)
binding
.
tvNullPassword
.
visibility
=
View
.
VISIBLE
binding
.
linearEnterPassword
.
setBackgroundResource
(
R
.
drawable
.
bg_background_radius_100_error
)
Toast
.
makeText
(
context
,
"login error->$error"
,
Toast
.
LENGTH_LONG
).
show
()
}
}
if
(
ValidatorUtil
.
isEmail
(
strAccount
)){
ThingHomeSdk
.
getUserInstance
()
.
loginWithEmail
(
countrycode
,
strAccount
,
password
,
callback
)
}
else
{
ThingHomeSdk
.
getUserInstance
()
.
loginWithPhonePassword
(
countrycode
,
strAccount
,
password
,
callback
)
}
}
}
}
private
fun
togglePasswordVisibility
(){
if
(
isPasswordVisible
()){
binding
.
etPassword
.
transformationMethod
=
PasswordTransformationMethod
.
getInstance
()
}
else
{
binding
.
etPassword
.
transformationMethod
=
null
}
binding
.
etPassword
.
setSelection
(
binding
.
etPassword
.
text
.
length
)
}
private
fun
isPasswordVisible
()
:
Boolean
{
return
binding
.
etPassword
.
transformationMethod
==
null
}
}
\ No newline at end of file
app/src/main/java/com/tuya/appsdk/sample/viettelhome/room/RoomFragment.kt
0 → 100644
View file @
446a7e24
package
com.tuya.appsdk.sample.viettelhome.room
import
android.os.Bundle
import
androidx.fragment.app.Fragment
import
android.view.LayoutInflater
import
android.view.View
import
android.view.ViewGroup
import
com.tuya.appsdk.sample.R
import
com.tuya.appsdk.sample.databinding.FragmentRoomBinding
class
RoomFragment
:
Fragment
()
{
companion
object
{
fun
newInstance
():
RoomFragment
{
val
args
=
Bundle
()
val
fragment
=
RoomFragment
()
fragment
.
arguments
=
args
return
fragment
}
}
private
lateinit
var
binding
:
FragmentRoomBinding
override
fun
onCreateView
(
inflater
:
LayoutInflater
,
container
:
ViewGroup
?,
savedInstanceState
:
Bundle
?
):
View
?
{
binding
=
FragmentRoomBinding
.
inflate
(
layoutInflater
)
return
binding
.
root
}
}
\ No newline at end of file
app/src/main/res/drawable/bg_background_device.png
0 → 100644
View file @
446a7e24
27.5 KB
app/src/main/res/drawable/bg_background_gradient_radius_8.xml
0 → 100644
View file @
446a7e24
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:shape=
"rectangle"
>
<corners
android:radius=
"8dp"
/>
<gradient
android:startColor=
"#F8214B"
android:endColor=
"#BE0A45"
android:angle=
"110.81"
/>
<stroke
android:width=
"1dp"
android:color=
"#E1E1E1"
/>
</shape>
\ No newline at end of file
app/src/main/res/drawable/bg_background_gradius_top_left_24.xml
0 → 100644
View file @
446a7e24
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<corners
android:topLeftRadius=
"24dp"
android:topRightRadius=
"0dp"
android:bottomLeftRadius=
"0dp"
android:bottomRightRadius=
"0dp"
/>
<solid
android:color=
"#F5F5F5"
/>
</shape>
app/src/main/res/drawable/bg_background_radius_100.xml
0 → 100644
View file @
446a7e24
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:shape=
"rectangle"
>
<corners
android:radius=
"100dp"
/>
<solid
android:color=
"#F5F5F5"
/>
<stroke
android:width=
"1dp"
android:color=
"#E1E1E1"
/>
</shape>
\ No newline at end of file
app/src/main/res/drawable/bg_background_radius_100_error.xml
0 → 100644
View file @
446a7e24
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:shape=
"rectangle"
>
<corners
android:radius=
"100dp"
/>
<solid
android:color=
"#F5F5F5"
/>
<stroke
android:width=
"1dp"
android:color=
"#EF1E4A"
/>
</shape>
\ No newline at end of file
app/src/main/res/drawable/bg_background_radius_100_onclick.xml
0 → 100644
View file @
446a7e24
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:shape=
"rectangle"
>
<corners
android:radius=
"100dp"
/>
<solid
android:color=
"@color/white"
/>
<stroke
android:width=
"1dp"
android:color=
"@color/black"
/>
</shape>
\ No newline at end of file
app/src/main/res/drawable/bg_background_radius_15.xml
0 → 100644
View file @
446a7e24
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<corners
android:topLeftRadius=
"15dp"
android:topRightRadius=
"15dp"
android:bottomLeftRadius=
"0dp"
android:bottomRightRadius=
"15dp"
/>
<solid
android:color=
"#FFFFFF"
/>
</shape>
app/src/main/res/drawable/bg_background_viettel_home.png
0 → 100644
View file @
446a7e24
27 KB
app/src/main/res/drawable/bg_gradient.xml
0 → 100644
View file @
446a7e24
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<gradient
android:startColor=
"@color/gradient_color_start"
android:endColor=
"@color/gradient_color_end"
android:angle=
"110.81"
/>
</shape>
\ No newline at end of file
app/src/main/res/drawable/ic_add_circle.xml
0 → 100644
View file @
446a7e24
<vector
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:aapt=
"http://schemas.android.com/aapt"
android:width=
"26dp"
android:height=
"26dp"
android:viewportWidth=
"26"
android:viewportHeight=
"26"
>
<path
android:pathData=
"M13.75,8.5C13.75,8.086 13.414,7.75 13,7.75C12.586,7.75 12.25,8.086 12.25,8.5V12.25H8.5C8.086,12.25 7.75,12.586 7.75,13C7.75,13.414 8.086,13.75 8.5,13.75H12.25V17.5C12.25,17.914 12.586,18.25 13,18.25C13.414,18.25 13.75,17.914 13.75,17.5V13.75H17.5C17.914,13.75 18.25,13.414 18.25,13C18.25,12.586 17.914,12.25 17.5,12.25H13.75V8.5Z"
>
<aapt:attr
name=
"android:fillColor"
>
<gradient
android:startX=
"13"
android:startY=
"1"
android:endX=
"33.55"
android:endY=
"8.812"
android:type=
"linear"
>
<item
android:offset=
"0"
android:color=
"#FFF8214B"
/>
<item
android:offset=
"1"
android:color=
"#FFBE0A45"
/>
</gradient>
</aapt:attr>
</path>
<path
android:strokeWidth=
"1"
android:pathData=
"M25,13C25,19.627 19.627,25 13,25C6.373,25 1,19.627 1,13C1,6.373 6.373,1 13,1C19.627,1 25,6.373 25,13Z"
android:fillColor=
"#00000000"
>
<aapt:attr
name=
"android:strokeColor"
>
<gradient
android:startX=
"13"
android:startY=
"1"
android:endX=
"33.55"
android:endY=
"8.812"
android:type=
"linear"
>
<item
android:offset=
"0"
android:color=
"#FFF8214B"
/>
<item
android:offset=
"1"
android:color=
"#FFBE0A45"
/>
</gradient>
</aapt:attr>
</path>
<path
android:strokeWidth=
"1"
android:pathData=
"M13.75,8.5C13.75,8.086 13.414,7.75 13,7.75C12.586,7.75 12.25,8.086 12.25,8.5V12.25H8.5C8.086,12.25 7.75,12.586 7.75,13C7.75,13.414 8.086,13.75 8.5,13.75H12.25V17.5C12.25,17.914 12.586,18.25 13,18.25C13.414,18.25 13.75,17.914 13.75,17.5V13.75H17.5C17.914,13.75 18.25,13.414 18.25,13C18.25,12.586 17.914,12.25 17.5,12.25H13.75V8.5Z"
android:fillColor=
"#00000000"
>
<aapt:attr
name=
"android:strokeColor"
>
<gradient
android:startX=
"13"
android:startY=
"1"
android:endX=
"33.55"
android:endY=
"8.812"
android:type=
"linear"
>
<item
android:offset=
"0"
android:color=
"#FFF8214B"
/>
<item
android:offset=
"1"
android:color=
"#FFBE0A45"
/>
</gradient>
</aapt:attr>
</path>
</vector>
app/src/main/res/drawable/ic_cart.xml
0 → 100644
View file @
446a7e24
<vector
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:width=
"22dp"
android:height=
"21dp"
android:viewportWidth=
"22"
android:viewportHeight=
"21"
>
<path
android:pathData=
"M11,1.622C10.394,1.622 9.814,1.863 9.386,2.291C8.957,2.719 8.717,3.3 8.717,3.905V4.163C9.141,4.159 9.598,4.159 10.092,4.159H11.908C12.402,4.159 12.86,4.159 13.283,4.163V3.905C13.283,3.3 13.042,2.719 12.614,2.291C12.186,1.863 11.605,1.622 11,1.622ZM14.805,4.216V3.905C14.805,2.896 14.404,1.928 13.69,1.215C12.977,0.501 12.009,0.1 11,0.1C9.991,0.1 9.023,0.501 8.309,1.215C7.596,1.928 7.195,2.896 7.195,3.905V4.216C7.058,4.227 6.926,4.238 6.798,4.252C5.907,4.348 5.162,4.549 4.5,5.003C4.272,5.159 4.059,5.334 3.861,5.526C3.287,6.086 2.943,6.778 2.674,7.633C2.413,8.464 2.202,9.519 1.936,10.845L1.917,10.941C1.535,12.852 1.234,14.358 1.148,15.557C1.058,16.783 1.182,17.813 1.763,18.706C1.956,19.005 2.183,19.28 2.436,19.528C3.199,20.273 4.186,20.596 5.404,20.75C6.597,20.9 8.133,20.9 10.082,20.9H11.918C13.867,20.9 15.402,20.9 16.596,20.75C17.814,20.596 18.801,20.273 19.563,19.528C19.817,19.28 20.044,19.004 20.237,18.706C20.817,17.814 20.941,16.783 20.853,15.557C20.766,14.358 20.465,12.852 20.082,10.941L20.064,10.845C19.799,9.519 19.587,8.464 19.326,7.633C19.057,6.778 18.713,6.086 18.139,5.526C17.941,5.334 17.727,5.159 17.5,5.003C16.838,4.549 16.092,4.348 15.201,4.252C15.07,4.238 14.938,4.226 14.806,4.216M6.962,5.765C6.204,5.846 5.736,6.001 5.36,6.258C5.205,6.365 5.058,6.485 4.923,6.617C4.597,6.935 4.355,7.363 4.126,8.089C3.892,8.833 3.695,9.807 3.421,11.186C3.025,13.163 2.744,14.575 2.666,15.667C2.588,16.744 2.718,17.384 3.039,17.878C3.171,18.08 3.326,18.27 3.5,18.44C3.921,18.851 4.522,19.104 5.595,19.24C6.681,19.377 8.121,19.378 10.136,19.378H11.864C13.879,19.378 15.318,19.377 16.405,19.24C17.477,19.104 18.079,18.851 18.5,18.44C18.674,18.27 18.828,18.081 18.961,17.878C19.281,17.384 19.412,16.744 19.335,15.666C19.256,14.574 18.975,13.163 18.58,11.186C18.304,9.807 18.108,8.832 17.874,8.089C17.646,7.363 17.402,6.935 17.076,6.617C16.942,6.485 16.796,6.365 16.64,6.258C16.265,6.001 15.796,5.847 15.038,5.765C14.264,5.682 13.27,5.681 11.863,5.681H10.137C8.731,5.681 7.737,5.682 6.962,5.765ZM7.876,13.334C8.066,13.267 8.275,13.278 8.457,13.365C8.639,13.452 8.779,13.607 8.847,13.798C9.004,14.243 9.296,14.628 9.682,14.901C10.067,15.173 10.528,15.319 11,15.319C11.472,15.319 11.933,15.173 12.318,14.901C12.704,14.628 12.995,14.243 13.153,13.798C13.186,13.703 13.238,13.617 13.305,13.542C13.371,13.468 13.452,13.408 13.542,13.364C13.633,13.321 13.731,13.296 13.83,13.291C13.93,13.286 14.03,13.3 14.124,13.333C14.219,13.367 14.305,13.418 14.38,13.485C14.454,13.552 14.515,13.633 14.558,13.723C14.601,13.813 14.626,13.911 14.631,14.011C14.636,14.111 14.622,14.211 14.589,14.305C14.326,15.047 13.84,15.689 13.198,16.144C12.555,16.598 11.787,16.842 11,16.842C10.213,16.842 9.446,16.598 8.803,16.144C8.16,15.689 7.674,15.047 7.412,14.305C7.345,14.115 7.356,13.906 7.443,13.724C7.53,13.541 7.686,13.401 7.876,13.334Z"
android:fillColor=
"#4E4E4E"
android:fillType=
"evenOdd"
/>
</vector>
app/src/main/res/drawable/ic_checked.xml
0 → 100644
View file @
446a7e24
<vector
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:aapt=
"http://schemas.android.com/aapt"
android:width=
"16dp"
android:height=
"16dp"
android:viewportWidth=
"16"
android:viewportHeight=
"16"
>
<path
android:pathData=
"M7.051,11.12L12.926,5.245L11.759,4.078L7.051,8.786L4.676,6.411L3.509,7.578L7.051,11.12ZM2.384,15.12C1.926,15.12 1.533,14.956 1.207,14.63C0.88,14.303 0.717,13.911 0.718,13.453V1.786C0.718,1.328 0.881,0.936 1.208,0.609C1.534,0.282 1.926,0.119 2.384,0.12H14.051C14.509,0.12 14.902,0.283 15.228,0.61C15.555,0.936 15.718,1.329 15.717,1.786V13.453C15.717,13.911 15.554,14.304 15.227,14.63C14.901,14.957 14.509,15.12 14.051,15.12H2.384Z"
>
<aapt:attr
name=
"android:fillColor"
>
<gradient
android:startX=
"8.218"
android:startY=
"0.12"
android:endX=
"21.061"
android:endY=
"5.002"
android:type=
"linear"
>
<item
android:offset=
"0"
android:color=
"#FFF8214B"
/>
<item
android:offset=
"1"
android:color=
"#FFBE0A45"
/>
</gradient>
</aapt:attr>
</path>
<path
android:pathData=
"M12.923,5.245L7.048,11.12L3.507,7.578L4.673,6.411L7.048,8.786L11.757,4.078L12.923,5.245Z"
android:fillColor=
"#ffffff"
/>
</vector>
app/src/main/res/drawable/ic_close.xml
0 → 100644
View file @
446a7e24
<vector
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:width=
"20dp"
android:height=
"21dp"
android:viewportWidth=
"20"
android:viewportHeight=
"21"
>
<group>
<clip-path
android:pathData=
"M2,2.25h16v16h-16z"
/>
<path
android:pathData=
"M10,2.25C5.543,2.25 2,5.793 2,10.25C2,14.707 5.543,18.25 10,18.25C14.457,18.25 18,14.707 18,10.25C18,5.793 14.457,2.25 10,2.25ZM10,17.107C6.229,17.107 3.143,14.021 3.143,10.25C3.143,6.479 6.229,3.393 10,3.393C13.771,3.393 16.857,6.479 16.857,10.25C16.857,14.021 13.771,17.107 10,17.107Z"
android:fillColor=
"#4E4E4E"
/>
<path
android:pathData=
"M13.086,14.25L10,11.164L6.914,14.25L6,13.336L9.086,10.25L6,7.164L6.914,6.25L10,9.336L13.086,6.25L14,7.164L10.914,10.25L14,13.336L13.086,14.25Z"
android:fillColor=
"#4E4E4E"
/>
</group>
</vector>
app/src/main/res/drawable/ic_device.xml
0 → 100644
View file @
446a7e24
<vector
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:aapt=
"http://schemas.android.com/aapt"
android:width=
"17dp"
android:height=
"17dp"
android:viewportWidth=
"17"
android:viewportHeight=
"17"
>
<path
android:pathData=
"M15.146,1.6V0.1H2.055C1.255,0.1 0.6,0.751 0.6,1.546V14.654C0.6,15.449 1.255,16.1 2.055,16.1L4.85,16.1L4.861,14.6L2.6,14.6C2.1,14.6 2.1,14.6 2.1,14.1V2.1C2.1,1.6 2.1,1.6 2.6,1.6H15.146Z"
>
<aapt:attr
name=
"android:fillColor"
>
<gradient
android:startX=
"8.6"
android:startY=
"0.1"
android:endX=
"22.3"
android:endY=
"5.308"
android:type=
"linear"
>
<item
android:offset=
"0"
android:color=
"#FFF8214B"
/>
<item
android:offset=
"1"
android:color=
"#FFBE0A45"
/>
</gradient>
</aapt:attr>
</path>
<path
android:pathData=
"M9.35,10.35H6.35V11.602C5.906,12 5.6,12.564 5.6,13.208C5.6,13.851 5.906,14.452 6.35,14.85V16.1H9.35V14.85C9.794,14.452 10.1,13.844 10.1,13.208C10.1,12.571 9.794,12 9.35,11.602V10.35ZM15.1,7.1H12.6C11.6,7.1 11.1,7.6 11.1,8.6V14.6C11.1,15.6 11.6,16.1 12.6,16.1L15.1,16.1C16.1,16.1 16.6,15.6 16.6,14.6V8.6C16.6,7.6 16.1,7.1 15.1,7.1ZM15.038,8.662C14.975,8.6 14.85,8.6 14.6,8.6H13.1C12.85,8.6 12.725,8.6 12.663,8.662C12.6,8.725 12.6,8.85 12.6,9.1V14.1C12.6,14.35 12.6,14.475 12.663,14.537C12.725,14.6 12.85,14.6 13.1,14.6H14.6C14.85,14.6 14.975,14.6 15.038,14.537C15.1,14.475 15.1,14.35 15.1,14.1V9.1C15.1,8.85 15.1,8.725 15.038,8.662ZM7.85,13.975C8.264,13.975 8.6,13.639 8.6,13.225C8.6,12.811 8.264,12.475 7.85,12.475C7.436,12.475 7.1,12.811 7.1,13.225C7.1,13.639 7.436,13.975 7.85,13.975Z"
android:fillType=
"evenOdd"
>
<aapt:attr
name=
"android:fillColor"
>
<gradient
android:startX=
"8.6"
android:startY=
"0.1"
android:endX=
"22.3"
android:endY=
"5.308"
android:type=
"linear"
>
<item
android:offset=
"0"
android:color=
"#FFF8214B"
/>
<item
android:offset=
"1"
android:color=
"#FFBE0A45"
/>
</gradient>
</aapt:attr>
</path>
</vector>
app/src/main/res/drawable/ic_down_arrow.xml
0 → 100644
View file @
446a7e24
<vector
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:width=
"8dp"
android:height=
"6dp"
android:viewportWidth=
"8"
android:viewportHeight=
"6"
>
<path
android:pathData=
"M6.8839,2.21L4.2939,4.8C4.2014,4.8927 4.0915,4.9662 3.9706,5.0164C3.8496,5.0666 3.7199,5.0924 3.5889,5.0924C3.458,5.0924 3.3283,5.0666 3.2073,5.0164C3.0863,4.9662 2.9765,4.8927 2.8839,4.8L0.2939,2.21C-0.3361,1.58 0.1139,0.5 1.0039,0.5L6.1839,0.5C7.0739,0.5 7.5139,1.58 6.8839,2.21Z"
android:fillColor=
"#4E4E4E"
/>
</vector>
app/src/main/res/drawable/ic_eye_close.xml
0 → 100644
View file @
446a7e24
<vector
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:width=
"20dp"
android:height=
"21dp"
android:viewportWidth=
"20"
android:viewportHeight=
"21"
>
<path
android:pathData=
"M8.516,9.266C8.31,9.458 8.144,9.69 8.029,9.948C7.915,10.205 7.853,10.484 7.848,10.766C7.843,11.047 7.895,11.328 8,11.589C8.106,11.851 8.263,12.088 8.463,12.288C8.662,12.487 8.9,12.644 9.161,12.75C9.423,12.855 9.703,12.907 9.985,12.902C10.267,12.897 10.545,12.836 10.802,12.721C11.06,12.606 11.292,12.441 11.484,12.234M9.111,5.906C9.406,5.869 9.703,5.851 10,5.85C14.9,5.85 17,10.75 17,10.75C16.687,11.42 16.295,12.05 15.831,12.626"
android:strokeLineJoin=
"round"
android:strokeWidth=
"1.66667"
android:fillColor=
"#00000000"
android:strokeColor=
"#4E4E4E"
android:strokeLineCap=
"round"
/>
<path
android:pathData=
"M6.227,6.977C4.835,7.925 3.721,9.228 3,10.75C3,10.75 5.1,15.65 10,15.65C11.341,15.654 12.653,15.262 13.773,14.523M3,3.75L17,17.75"
android:strokeLineJoin=
"round"
android:strokeWidth=
"1.66667"
android:fillColor=
"#00000000"
android:strokeColor=
"#4E4E4E"
android:strokeLineCap=
"round"
/>
</vector>
app/src/main/res/drawable/ic_home.xml
0 → 100644
View file @
446a7e24
<vector
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:width=
"22dp"
android:height=
"21dp"
android:viewportWidth=
"22"
android:viewportHeight=
"21"
>
<path
android:pathData=
"M11.451,0.267C11.192,0.044 10.809,0.044 10.549,0.267L0.842,8.587L0.6,8.795V9.113V18.3C0.6,19.449 2.051,20.9 3.2,20.9H8.227C8.61,20.9 8.92,20.59 8.92,20.207V16.047C8.92,14.898 9.851,13.967 11,13.967C12.149,13.967 13.08,14.898 13.08,16.047V20.207C13.08,20.59 13.391,20.9 13.773,20.9H18.8C19.949,20.9 21.4,19.449 21.4,18.3V9.113V8.795L21.158,8.587L11.451,0.267ZM14.9,16.047C14.9,14.132 12.915,12.45 11,12.45C9.086,12.45 7.1,14.132 7.1,16.047V18.95H3.2C2.817,18.95 2.55,18.683 2.55,18.3V9.85L11,2.7L19.45,9.85V18.3C19.45,18.683 19.183,18.95 18.8,18.95H14.9V16.047Z"
android:fillColor=
"#4E4E4E"
android:fillType=
"evenOdd"
/>
</vector>
app/src/main/res/drawable/ic_key_password.xml
0 → 100644
View file @
446a7e24
<vector
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:width=
"20dp"
android:height=
"21dp"
android:viewportWidth=
"20"
android:viewportHeight=
"21"
>
<path
android:pathData=
"M5.981,9.365V7.965C5.981,5.649 6.681,3.765 10.181,3.765C13.681,3.765 14.381,5.649 14.381,7.965V9.365"
android:strokeLineJoin=
"round"
android:strokeWidth=
"1.5"
android:fillColor=
"#00000000"
android:strokeColor=
"#4E4E4E"
android:strokeLineCap=
"round"
/>
<path
android:pathData=
"M11.931,13.565C11.931,13.911 11.828,14.249 11.636,14.537C11.444,14.825 11.17,15.049 10.851,15.182C10.531,15.314 10.179,15.349 9.84,15.281C9.5,15.214 9.188,15.047 8.944,14.802C8.699,14.557 8.532,14.246 8.465,13.906C8.397,13.567 8.432,13.215 8.564,12.895C8.697,12.575 8.921,12.302 9.209,12.11C9.497,11.918 9.835,11.815 10.181,11.815C10.645,11.815 11.09,11.999 11.418,12.328C11.746,12.656 11.931,13.101 11.931,13.565Z"
android:strokeLineJoin=
"round"
android:strokeWidth=
"1.5"
android:fillColor=
"#00000000"
android:strokeColor=
"#4E4E4E"
android:strokeLineCap=
"round"
/>
<path
android:pathData=
"M13.681,17.764H6.68C3.881,17.764 3.181,17.064 3.181,14.265V12.864C3.181,10.065 3.881,9.364 6.68,9.364H13.681C16.481,9.364 17.181,10.065 17.181,12.864V14.265C17.181,17.064 16.481,17.764 13.681,17.764Z"
android:strokeLineJoin=
"round"
android:strokeWidth=
"1.5"
android:fillColor=
"#00000000"
android:strokeColor=
"#4E4E4E"
android:strokeLineCap=
"round"
/>
</vector>
app/src/main/res/drawable/ic_launcher_background.xml
0 → 100644
View file @
446a7e24
<?xml version="1.0" encoding="utf-8"?>
<vector
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:width=
"108dp"
android:height=
"108dp"
android:viewportWidth=
"108"
android:viewportHeight=
"108"
>
<path
android:fillColor=
"#3DDC84"
android:pathData=
"M0,0h108v108h-108z"
/>
<path
android:fillColor=
"#00000000"
android:pathData=
"M9,0L9,108"
android:strokeWidth=
"0.8"
android:strokeColor=
"#33FFFFFF"
/>
<path
android:fillColor=
"#00000000"
android:pathData=
"M19,0L19,108"
android:strokeWidth=
"0.8"
android:strokeColor=
"#33FFFFFF"
/>
<path
android:fillColor=
"#00000000"
android:pathData=
"M29,0L29,108"
android:strokeWidth=
"0.8"
android:strokeColor=
"#33FFFFFF"
/>
<path
android:fillColor=
"#00000000"
android:pathData=
"M39,0L39,108"
android:strokeWidth=
"0.8"
android:strokeColor=
"#33FFFFFF"
/>
<path
android:fillColor=
"#00000000"
android:pathData=
"M49,0L49,108"
android:strokeWidth=
"0.8"
android:strokeColor=
"#33FFFFFF"
/>
<path
android:fillColor=
"#00000000"
android:pathData=
"M59,0L59,108"
android:strokeWidth=
"0.8"
android:strokeColor=
"#33FFFFFF"
/>
<path
android:fillColor=
"#00000000"
android:pathData=
"M69,0L69,108"
android:strokeWidth=
"0.8"
android:strokeColor=
"#33FFFFFF"
/>
<path
android:fillColor=
"#00000000"
android:pathData=
"M79,0L79,108"
android:strokeWidth=
"0.8"
android:strokeColor=
"#33FFFFFF"
/>
<path
android:fillColor=
"#00000000"
android:pathData=
"M89,0L89,108"
android:strokeWidth=
"0.8"
android:strokeColor=
"#33FFFFFF"
/>
<path
android:fillColor=
"#00000000"
android:pathData=
"M99,0L99,108"
android:strokeWidth=
"0.8"
android:strokeColor=
"#33FFFFFF"
/>
<path
android:fillColor=
"#00000000"
android:pathData=
"M0,9L108,9"
android:strokeWidth=
"0.8"
android:strokeColor=
"#33FFFFFF"
/>
<path
android:fillColor=
"#00000000"
android:pathData=
"M0,19L108,19"
android:strokeWidth=
"0.8"
android:strokeColor=
"#33FFFFFF"
/>
<path
android:fillColor=
"#00000000"
android:pathData=
"M0,29L108,29"
android:strokeWidth=
"0.8"
android:strokeColor=
"#33FFFFFF"
/>
<path
android:fillColor=
"#00000000"
android:pathData=
"M0,39L108,39"
android:strokeWidth=
"0.8"
android:strokeColor=
"#33FFFFFF"
/>
<path
android:fillColor=
"#00000000"
android:pathData=
"M0,49L108,49"
android:strokeWidth=
"0.8"
android:strokeColor=
"#33FFFFFF"
/>
<path
android:fillColor=
"#00000000"
android:pathData=
"M0,59L108,59"
android:strokeWidth=
"0.8"
android:strokeColor=
"#33FFFFFF"
/>
<path
android:fillColor=
"#00000000"
android:pathData=
"M0,69L108,69"
android:strokeWidth=
"0.8"
android:strokeColor=
"#33FFFFFF"
/>
<path
android:fillColor=
"#00000000"
android:pathData=
"M0,79L108,79"
android:strokeWidth=
"0.8"
android:strokeColor=
"#33FFFFFF"
/>
<path
android:fillColor=
"#00000000"
android:pathData=
"M0,89L108,89"
android:strokeWidth=
"0.8"
android:strokeColor=
"#33FFFFFF"
/>
<path
android:fillColor=
"#00000000"
android:pathData=
"M0,99L108,99"
android:strokeWidth=
"0.8"
android:strokeColor=
"#33FFFFFF"
/>
<path
android:fillColor=
"#00000000"
android:pathData=
"M19,29L89,29"
android:strokeWidth=
"0.8"
android:strokeColor=
"#33FFFFFF"
/>
<path
android:fillColor=
"#00000000"
android:pathData=
"M19,39L89,39"
android:strokeWidth=
"0.8"
android:strokeColor=
"#33FFFFFF"
/>
<path
android:fillColor=
"#00000000"
android:pathData=
"M19,49L89,49"
android:strokeWidth=
"0.8"
android:strokeColor=
"#33FFFFFF"
/>
<path
android:fillColor=
"#00000000"
android:pathData=
"M19,59L89,59"
android:strokeWidth=
"0.8"
android:strokeColor=
"#33FFFFFF"
/>
<path
android:fillColor=
"#00000000"
android:pathData=
"M19,69L89,69"
android:strokeWidth=
"0.8"
android:strokeColor=
"#33FFFFFF"
/>
<path
android:fillColor=
"#00000000"
android:pathData=
"M19,79L89,79"
android:strokeWidth=
"0.8"
android:strokeColor=
"#33FFFFFF"
/>
<path
android:fillColor=
"#00000000"
android:pathData=
"M29,19L29,89"
android:strokeWidth=
"0.8"
android:strokeColor=
"#33FFFFFF"
/>
<path
android:fillColor=
"#00000000"
android:pathData=
"M39,19L39,89"
android:strokeWidth=
"0.8"
android:strokeColor=
"#33FFFFFF"
/>
<path
android:fillColor=
"#00000000"
android:pathData=
"M49,19L49,89"
android:strokeWidth=
"0.8"
android:strokeColor=
"#33FFFFFF"
/>
<path
android:fillColor=
"#00000000"
android:pathData=
"M59,19L59,89"
android:strokeWidth=
"0.8"
android:strokeColor=
"#33FFFFFF"
/>
<path
android:fillColor=
"#00000000"
android:pathData=
"M69,19L69,89"
android:strokeWidth=
"0.8"
android:strokeColor=
"#33FFFFFF"
/>
<path
android:fillColor=
"#00000000"
android:pathData=
"M79,19L79,89"
android:strokeWidth=
"0.8"
android:strokeColor=
"#33FFFFFF"
/>
</vector>
app/src/main/res/drawable/ic_launcher_foreground.xml
0 → 100644
View file @
446a7e24
<vector
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:aapt=
"http://schemas.android.com/aapt"
android:width=
"108dp"
android:height=
"108dp"
android:viewportWidth=
"108"
android:viewportHeight=
"108"
>
<path
android:pathData=
"M31,63.928c0,0 6.4,-11 12.1,-13.1c7.2,-2.6 26,-1.4 26,-1.4l38.1,38.1L107,108.928l-32,-1L31,63.928z"
>
<aapt:attr
name=
"android:fillColor"
>
<gradient
android:endX=
"85.84757"
android:endY=
"92.4963"
android:startX=
"42.9492"
android:startY=
"49.59793"
android:type=
"linear"
>
<item
android:color=
"#44000000"
android:offset=
"0.0"
/>
<item
android:color=
"#00000000"
android:offset=
"1.0"
/>
</gradient>
</aapt:attr>
</path>
<path
android:fillColor=
"#FFFFFF"
android:fillType=
"nonZero"
android:pathData=
"M65.3,45.828l3.8,-6.6c0.2,-0.4 0.1,-0.9 -0.3,-1.1c-0.4,-0.2 -0.9,-0.1 -1.1,0.3l-3.9,6.7c-6.3,-2.8 -13.4,-2.8 -19.7,0l-3.9,-6.7c-0.2,-0.4 -0.7,-0.5 -1.1,-0.3C38.8,38.328 38.7,38.828 38.9,39.228l3.8,6.6C36.2,49.428 31.7,56.028 31,63.928h46C76.3,56.028 71.8,49.428 65.3,45.828zM43.4,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2c-0.3,-0.7 -0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C45.3,56.528 44.5,57.328 43.4,57.328L43.4,57.328zM64.6,57.328c-0.8,0 -1.5,-0.5 -1.8,-1.2s-0.1,-1.5 0.4,-2.1c0.5,-0.5 1.4,-0.7 2.1,-0.4c0.7,0.3 1.2,1 1.2,1.8C66.5,56.528 65.6,57.328 64.6,57.328L64.6,57.328z"
android:strokeWidth=
"1"
android:strokeColor=
"#00000000"
/>
</vector>
\ No newline at end of file
app/src/main/res/drawable/ic_logo_viettel_home.xml
0 → 100644
View file @
446a7e24
<vector
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:width=
"250dp"
android:height=
"85dp"
android:viewportWidth=
"250"
android:viewportHeight=
"85"
>
<group>
<clip-path
android:pathData=
"M0,0.53h250v84.45h-250z"
/>
<path
android:pathData=
"M139.02,14.67H136.61C135.65,14.67 134.88,15.44 134.88,16.4V34.22C134.88,35.18 135.65,35.95 136.61,35.95H139.02C139.98,35.95 140.75,35.18 140.75,34.22V16.4C140.75,15.44 139.98,14.67 139.02,14.67Z"
android:fillColor=
"#EE0033"
/>
<path
android:pathData=
"M130.36,14.67C128.85,14.67 127.57,15.57 126.96,16.88L120.57,30.45C120.42,30.77 120.11,31.29 119.86,31.29C119.61,31.29 119.31,30.77 119.16,30.45L112.73,16.88C112.11,15.57 110.84,14.67 109.32,14.67H105.61L115.75,34.31C116.75,36.23 118.81,36.19 119.86,36.19C121.32,36.19 123.03,36.11 123.93,34.31L134.07,14.67H130.36Z"
android:fillColor=
"#EE0033"
/>
<path
android:pathData=
"M242.42,11.4C242.42,10.45 241.64,9.67 240.69,9.67H238.28C237.32,9.67 236.54,10.45 236.54,11.4V29C236.54,31.69 237.5,33.26 239.21,34.39C240.86,35.47 242.77,35.95 246.34,35.95H248.27C249.22,35.95 250,35.18 250,34.22V32.34H248.54C247.49,32.34 245.28,32.3 243.98,31.41C242.27,30.29 242.42,28.28 242.42,26.83V11.4Z"
android:fillColor=
"#EE0033"
/>
<path
android:pathData=
"M204.82,32.34C203.76,32.34 201.55,32.3 200.25,31.41C198.54,30.29 198.69,28.28 198.69,26.84V18.28H204.39C205.34,18.28 206.12,17.5 206.12,16.55V14.67H198.69V11.4C198.69,10.45 197.91,9.67 196.96,9.67H194.55C193.59,9.67 192.82,10.45 192.82,11.4V14.67H180.57V11.4C180.57,10.45 179.79,9.67 178.83,9.67H176.43C175.47,9.67 174.69,10.45 174.69,11.4V14.67H171.03V16.55C171.03,17.5 171.8,18.28 172.76,18.28H174.69V29C174.69,31.7 175.65,33.26 177.35,34.39C179.01,35.47 180.92,35.95 184.48,35.95H186.41C187.37,35.95 188.15,35.18 188.15,34.22V32.34H186.69C185.64,32.34 183.43,32.3 182.12,31.41C180.41,30.29 180.57,28.28 180.57,26.84V18.28H192.82V29C192.82,31.7 193.77,33.26 195.48,34.39C197.13,35.47 199.04,35.95 202.6,35.95H204.54C205.49,35.95 206.27,35.18 206.27,34.22V32.34H204.82Z"
android:fillColor=
"#EE0033"
/>
<path
android:pathData=
"M163.65,22.02C163.65,22.58 163.49,23.26 162.34,23.26H153.99C151.86,23.26 150.14,24.23 150.14,25.43V23.26C150.19,21.86 150.14,20.69 151.34,19.61C152.95,18.16 155.36,18.2 156.92,18.2C158.57,18.2 160.48,18.28 161.94,19.16C162.79,19.69 163.65,20.69 163.65,22.02ZM168.87,34.22V32.34H155.86C153.71,32.34 151.24,32.1 150.49,29.81C150.29,29.16 150.14,27.8 150.14,26.88H165.6C166.66,26.88 167.66,26.72 168.46,26.07C169.57,25.19 169.72,23.94 169.72,22.86C169.72,20.17 169.07,17.52 165.95,15.95C163.49,14.71 160.28,14.59 157.17,14.59C154.66,14.59 150.14,14.59 147.23,16.59C144.32,18.6 144.07,21.53 144.07,25.51C144.07,28.32 144.22,31.25 145.97,33.26C148.18,35.75 151.39,35.95 154.11,35.95H167.13C168.09,35.95 168.87,35.18 168.87,34.22Z"
android:fillColor=
"#EE0033"
/>
<path
android:pathData=
"M227.16,22.02C227.16,22.58 227.01,23.26 225.85,23.26H217.5C215.37,23.26 213.65,24.23 213.65,25.43V23.26C213.7,21.86 213.65,20.69 214.86,19.61C216.46,18.16 218.87,18.2 220.43,18.2C222.09,18.2 223.99,18.28 225.45,19.16C226.3,19.69 227.16,20.69 227.16,22.02ZM232.38,34.22V32.34H219.37C217.22,32.34 214.76,32.1 214,29.81C213.8,29.16 213.65,27.8 213.65,26.88H229.11C230.17,26.88 231.17,26.72 231.98,26.07C233.08,25.19 233.23,23.94 233.23,22.86C233.23,20.17 232.58,17.52 229.46,15.95C227.01,14.71 223.79,14.59 220.68,14.59C218.17,14.59 213.65,14.59 210.74,16.59C207.83,18.6 207.58,21.53 207.58,25.51C207.58,28.32 207.73,31.25 209.48,33.26C211.69,35.75 214.9,35.95 217.62,35.95H230.64C231.6,35.95 232.38,35.18 232.38,34.22Z"
android:fillColor=
"#EE0033"
/>
<path
android:pathData=
"M139.02,8.71H136.61C135.65,8.71 134.88,9.48 134.88,10.44V14.92C134.88,13.86 136.05,12.66 137.81,12.66H139.02C139.98,12.66 140.75,11.88 140.75,10.92V10.44C140.75,9.48 139.98,8.71 139.02,8.71Z"
android:fillColor=
"#EE0033"
/>
<path
android:pathData=
"M107.15,73.32V43.52C107.15,42.57 107.92,41.8 108.87,41.8H111.3C112.25,41.8 113.02,42.57 113.02,43.52V52.15H121.01C124.29,52.15 126.84,52.7 128.65,53.79C130.45,54.88 131.36,56.75 131.36,59.38V71.6C131.36,72.55 130.59,73.32 129.63,73.32H125.48V60.62C125.48,58.97 125.04,57.74 124.17,56.95C123.3,56.15 121.88,55.75 119.9,55.75H113.02V71.6C113.02,72.55 112.25,73.32 111.3,73.32H107.15Z"
android:fillColor=
"#44494D"
/>
<path
android:pathData=
"M155.12,68.31C153.91,69.41 151.82,69.96 148.84,69.96C145.86,69.96 143.77,69.41 142.56,68.31C141.35,67.2 140.75,65.33 140.75,62.7C140.75,60.09 141.35,58.24 142.56,57.15C143.77,56.05 145.86,55.51 148.84,55.51C151.82,55.51 153.91,56.05 155.12,57.15C156.32,58.24 156.93,60.09 156.93,62.7C156.93,65.33 156.32,67.2 155.12,68.31ZM159.64,54.27C157.4,52.7 153.79,51.92 148.84,51.92C143.88,51.92 140.28,52.7 138.04,54.27C135.79,55.84 134.67,58.65 134.67,62.7C134.67,66.8 135.79,69.63 138.01,71.2C140.24,72.77 143.85,73.56 148.84,73.56C153.83,73.56 157.44,72.77 159.66,71.2C161.89,69.63 163.01,66.8 163.01,62.7C163.01,58.65 161.88,55.84 159.64,54.27Z"
android:fillColor=
"#44494D"
/>
<path
android:pathData=
"M166.32,73.32V55.75C166.32,53.35 167.83,52.15 170.84,52.15H193.9C197.18,52.15 199.73,52.7 201.53,53.79C203.34,54.88 204.25,56.75 204.25,59.38V71.6C204.25,72.55 203.48,73.32 202.52,73.32H198.37V60.62C198.37,58.97 197.93,57.74 197.06,56.95C196.19,56.15 194.77,55.75 192.79,55.75H188.22V71.6C188.22,72.55 187.45,73.32 186.5,73.32H182.35V55.75H173.71C172.7,55.75 172.2,56.15 172.2,56.95V71.6C172.2,72.55 171.43,73.32 170.47,73.32H166.32Z"
android:fillColor=
"#44494D"
/>
<path
android:pathData=
"M215.17,56.73C216.19,55.92 217.94,55.51 220.42,55.51C222.33,55.51 223.93,55.84 225.22,56.51C226.51,57.17 227.15,58.16 227.15,59.46C227.15,60.29 226.72,60.7 225.85,60.7H213.64C213.64,58.86 214.15,57.54 215.17,56.73ZM214.77,68.39C214.02,67.5 213.64,66.13 213.64,64.29H229.11C231.86,64.29 233.23,62.96 233.23,60.3C233.23,57.13 232.13,54.94 229.94,53.73C227.75,52.52 224.57,51.91 220.42,51.91C215.77,51.91 212.46,52.69 210.5,54.23C208.54,55.78 207.56,58.6 207.56,62.7C207.56,64.53 207.69,66.05 207.94,67.25C208.19,68.45 208.67,69.53 209.37,70.5C210.07,71.48 211.1,72.19 212.46,72.64C213.82,73.09 215.53,73.32 217.61,73.32H230.65C231.61,73.32 232.38,72.55 232.38,71.6V69.72H219.37C217.06,69.72 215.52,69.28 214.77,68.39Z"
android:fillColor=
"#44494D"
/>
<path
android:pathData=
"M84.45,42.75C84.45,66.07 65.54,84.97 42.22,84.97C18.9,84.97 0,66.07 0,42.75C0,19.43 18.9,0.53 42.22,0.53C65.54,0.53 84.45,19.43 84.45,42.75Z"
android:fillColor=
"#EE0033"
/>
<path
android:pathData=
"M39.51,33.55C36.97,31.01 32.83,31.01 30.28,33.55L29.2,32.47C32.34,29.33 37.45,29.33 40.59,32.47L39.51,33.55Z"
android:fillColor=
"#ffffff"
/>
<path
android:pathData=
"M42.37,30.69C40.38,28.69 37.72,27.6 34.9,27.6C32.08,27.6 29.42,28.69 27.42,30.69L26.34,29.61C28.63,27.32 31.67,26.07 34.9,26.07C38.13,26.07 41.17,27.32 43.45,29.61L42.37,30.69Z"
android:fillColor=
"#ffffff"
/>
<path
android:pathData=
"M45.67,27.4C39.73,21.46 30.07,21.46 24.13,27.4L23.05,26.32C29.58,19.78 40.21,19.78 46.75,26.32L45.67,27.4Z"
android:fillColor=
"#ffffff"
/>
<path
android:pathData=
"M49.73,64.09H46.03V47.9L34.45,41.22L22.87,47.9V64.09H19.18V45.77L34.45,36.95L49.73,45.77V64.09Z"
android:fillColor=
"#ffffff"
/>
<path
android:pathData=
"M33.89,53.22H31V50.33H33.89V53.22Z"
android:fillColor=
"#ffffff"
/>
<path
android:pathData=
"M37.9,53.22H35.02V50.33H37.9V53.22Z"
android:fillColor=
"#ffffff"
/>
<path
android:pathData=
"M33.89,57.03H31V54.14H33.89V57.03Z"
android:fillColor=
"#ffffff"
/>
<path
android:pathData=
"M37.9,57.03H35.02V54.14H37.9V57.03Z"
android:fillColor=
"#ffffff"
/>
<path
android:pathData=
"M50,36.7L43.28,40.58L46.97,42.71L50,40.97L61.57,47.65V63.84H65.27V45.52L50,36.7Z"
android:fillColor=
"#ffffff"
/>
</group>
</vector>
app/src/main/res/drawable/ic_menu.xml
0 → 100644
View file @
446a7e24
<vector
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:aapt=
"http://schemas.android.com/aapt"
android:width=
"24dp"
android:height=
"16dp"
android:viewportWidth=
"24"
android:viewportHeight=
"16"
>
<path
android:pathData=
"M2,15.5H22C22.688,15.5 23.25,14.938 23.25,14.25C23.25,13.563 22.688,13 22,13H2C1.313,13 0.75,13.563 0.75,14.25C0.75,14.938 1.313,15.5 2,15.5ZM2,9.25H22C22.688,9.25 23.25,8.688 23.25,8C23.25,7.313 22.688,6.75 22,6.75H2C1.313,6.75 0.75,7.313 0.75,8C0.75,8.688 1.313,9.25 2,9.25ZM0.75,1.75C0.75,2.438 1.313,3 2,3H22C22.688,3 23.25,2.438 23.25,1.75C23.25,1.063 22.688,0.5 22,0.5H2C1.313,0.5 0.75,1.063 0.75,1.75Z"
>
<aapt:attr
name=
"android:fillColor"
>
<gradient
android:startX=
"12"
android:startY=
"0.5"
android:endX=
"28.639"
android:endY=
"9.988"
android:type=
"linear"
>
<item
android:offset=
"0"
android:color=
"#FFF8214B"
/>
<item
android:offset=
"1"
android:color=
"#FFBE0A45"
/>
</gradient>
</aapt:attr>
</path>
</vector>
app/src/main/res/drawable/ic_narrow_up.xml
0 → 100644
View file @
446a7e24
<vector
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:width=
"10dp"
android:height=
"7dp"
android:viewportWidth=
"10"
android:viewportHeight=
"7"
>
<path
android:pathData=
"M0,5.5L5,0.5L10,5.5L8.833,6.667L5,2.833L1.167,6.667L0,5.5Z"
android:fillColor=
"#000000"
/>
</vector>
app/src/main/res/drawable/ic_offline_status.xml
0 → 100644
View file @
446a7e24
<vector
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:width=
"10dp"
android:height=
"10dp"
android:viewportWidth=
"10"
android:viewportHeight=
"10"
>
<path
android:pathData=
"M5,5m-5,0a5,5 0,1 1,10 0a5,5 0,1 1,-10 0"
android:fillColor=
"#EF1E4A"
/>
</vector>
app/src/main/res/drawable/ic_online_status.xml
0 → 100644
View file @
446a7e24
<vector
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:width=
"10dp"
android:height=
"10dp"
android:viewportWidth=
"10"
android:viewportHeight=
"10"
>
<path
android:pathData=
"M5,5m-5,0a5,5 0,1 1,10 0a5,5 0,1 1,-10 0"
android:fillColor=
"#14C726"
/>
</vector>
app/src/main/res/drawable/ic_otp.xml
0 → 100644
View file @
446a7e24
<vector
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:width=
"48dp"
android:height=
"49dp"
android:viewportWidth=
"48"
android:viewportHeight=
"49"
>
<path
android:strokeWidth=
"1"
android:pathData=
"M24,24.25m-23.5,0a23.5,23.5 0,1 1,47 0a23.5,23.5 0,1 1,-47 0"
android:fillColor=
"#00000000"
android:strokeColor=
"#EF1E4A"
/>
<path
android:pathData=
"M30.732,35.25H16.826V13.037H30.732V15.029H32.074V13.059C32.074,11.973 31.19,11.089 30.104,11.089H17.454C16.368,11.089 15.484,11.973 15.484,13.059V35.441C15.484,36.528 16.368,37.411 17.454,37.411H30.093C31.179,37.411 32.063,36.528 32.063,35.441V26.582H30.722V35.25H30.732Z"
android:fillColor=
"#EF1E4A"
/>
<path
android:pathData=
"M33.201,15.87H32.924H31.369H20.305C20.21,15.87 20.103,15.88 20.018,15.891C19.07,16.03 18.357,16.839 18.357,17.819V23.334C18.357,24.314 19.081,25.123 20.018,25.262C20.114,25.272 20.21,25.283 20.305,25.283H22.286V26.412V27.178C22.286,27.583 22.765,27.807 23.074,27.54L24.384,26.412L25.694,25.283H31.369H32.924H33.201C34.276,25.283 35.149,24.41 35.149,23.334V17.819C35.16,16.743 34.287,15.87 33.201,15.87ZM20.635,20.938V20.928C20.635,19.778 21.541,18.83 22.797,18.83C24.043,18.83 24.937,19.757 24.937,20.917V20.928C24.937,22.078 24.032,23.025 22.776,23.025C21.541,23.015 20.635,22.088 20.635,20.938ZM28.249,19.725H27.397V22.536C27.397,22.781 27.205,22.983 26.95,22.983C26.705,22.983 26.503,22.791 26.503,22.536V19.725H25.651C25.427,19.725 25.236,19.544 25.236,19.309C25.236,19.086 25.417,18.894 25.651,18.894H28.249C28.473,18.894 28.664,19.075 28.664,19.309C28.664,19.533 28.473,19.725 28.249,19.725ZM32.508,20.31C32.508,21.066 32.029,21.535 31.369,21.684C31.209,21.716 31.049,21.737 30.868,21.737H30.187V22.536C30.187,22.781 29.995,22.983 29.74,22.983C29.484,22.983 29.293,22.791 29.293,22.536V19.341C29.293,19.096 29.484,18.894 29.74,18.894H30.954C31.103,18.894 31.241,18.905 31.369,18.937C32.082,19.075 32.508,19.597 32.508,20.299V20.31Z"
android:fillColor=
"#EF1E4A"
/>
<path
android:pathData=
"M24.013,20.938V20.928C24.013,20.236 23.502,19.661 22.788,19.661C22.075,19.661 21.575,20.225 21.575,20.917V20.928C21.575,21.62 22.086,22.195 22.799,22.195C23.513,22.195 24.013,21.631 24.013,20.938Z"
android:fillColor=
"#EF1E4A"
/>
<path
android:pathData=
"M31.372,19.831C31.255,19.746 31.085,19.703 30.883,19.703H30.19V20.938H30.893C31.085,20.938 31.245,20.885 31.362,20.8C31.511,20.694 31.596,20.523 31.596,20.321V20.31C31.617,20.097 31.532,19.938 31.372,19.831Z"
android:fillColor=
"#EF1E4A"
/>
</vector>
app/src/main/res/drawable/ic_personal.xml
0 → 100644
View file @
446a7e24
<vector
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:width=
"22dp"
android:height=
"21dp"
android:viewportWidth=
"22"
android:viewportHeight=
"21"
>
<path
android:pathData=
"M11,0.1C8.943,0.1 6.932,0.71 5.222,1.853C3.512,2.996 2.179,4.62 1.392,6.52C0.605,8.421 0.399,10.512 0.8,12.529C1.201,14.546 2.192,16.399 3.646,17.854C5.101,19.309 6.954,20.299 8.971,20.7C10.989,21.101 13.08,20.896 14.98,20.108C16.88,19.321 18.505,17.988 19.647,16.278C20.79,14.568 21.4,12.557 21.4,10.5C21.397,7.743 20.301,5.099 18.351,3.149C16.401,1.2 13.757,0.103 11,0.1ZM5.608,17.45C6.187,16.545 6.984,15.8 7.926,15.284C8.869,14.768 9.926,14.498 11,14.498C12.074,14.498 13.132,14.768 14.074,15.284C15.016,15.8 15.813,16.545 16.392,17.45C14.85,18.649 12.953,19.3 11,19.3C9.047,19.3 7.15,18.649 5.608,17.45ZM7.8,9.7C7.8,9.067 7.988,8.449 8.339,7.922C8.691,7.396 9.191,6.986 9.776,6.744C10.36,6.501 11.004,6.438 11.624,6.562C12.245,6.685 12.815,6.99 13.263,7.437C13.71,7.885 14.015,8.455 14.139,9.076C14.262,9.697 14.199,10.34 13.957,10.925C13.714,11.509 13.304,12.009 12.778,12.361C12.252,12.712 11.633,12.9 11,12.9C10.151,12.9 9.337,12.563 8.737,11.963C8.137,11.363 7.8,10.549 7.8,9.7ZM17.576,16.341C16.684,15.048 15.429,14.048 13.97,13.466C14.754,12.849 15.326,12.002 15.606,11.045C15.887,10.087 15.862,9.066 15.535,8.124C15.209,7.181 14.597,6.363 13.784,5.785C12.971,5.206 11.998,4.895 11,4.895C10.002,4.895 9.029,5.206 8.217,5.785C7.404,6.363 6.791,7.181 6.465,8.124C6.138,9.066 6.113,10.087 6.394,11.045C6.674,12.002 7.246,12.849 8.03,13.466C6.571,14.048 5.316,15.048 4.424,16.341C3.297,15.073 2.56,13.507 2.302,11.83C2.045,10.153 2.277,8.437 2.972,6.889C3.667,5.341 4.794,4.027 6.219,3.106C7.643,2.184 9.303,1.693 11,1.693C12.697,1.693 14.357,2.184 15.781,3.106C17.206,4.027 18.333,5.341 19.028,6.889C19.723,8.437 19.956,10.153 19.698,11.83C19.44,13.507 18.704,15.073 17.576,16.341Z"
android:fillColor=
"#4E4E4E"
/>
</vector>
app/src/main/res/drawable/ic_phone.xml
0 → 100644
View file @
446a7e24
<vector
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:width=
"20dp"
android:height=
"21dp"
android:viewportWidth=
"20"
android:viewportHeight=
"21"
>
<path
android:pathData=
"M2,6.709C2.009,6.05 2.199,5.54 2.615,5.123C3.497,4.239 4.379,3.355 5.263,2.473C5.557,2.179 5.877,2.175 6.169,2.467C7.343,3.639 8.516,4.813 9.687,5.989C9.963,6.267 9.962,6.591 9.689,6.868C9.393,7.169 9.096,7.47 8.793,7.764C8.721,7.834 8.711,7.886 8.757,7.977C9.537,9.532 10.693,10.709 12.256,11.483C12.358,11.533 12.417,11.531 12.499,11.447C12.787,11.148 13.084,10.856 13.38,10.563C13.657,10.287 13.983,10.281 14.259,10.556C15.443,11.736 16.623,12.919 17.802,14.103C18.066,14.368 18.066,14.694 17.804,14.957C16.911,15.855 16.021,16.757 15.117,17.644C14.493,18.256 13.731,18.361 12.916,18.152C11.972,17.91 11.104,17.477 10.252,17.02C6.463,14.986 3.864,11.901 2.279,7.932C2.179,7.681 2.115,7.412 2.053,7.148C2.014,6.981 2.011,6.806 2,6.709ZM5.731,3.669C4.93,4.459 4.133,5.242 3.342,6.03C3.198,6.174 3.144,6.362 3.142,6.568C3.139,6.957 3.265,7.317 3.409,7.668C4.936,11.388 7.4,14.27 11.006,16.122C11.724,16.49 12.451,16.841 13.236,17.05C13.7,17.175 14.084,17.084 14.431,16.72C15.095,16.023 15.789,15.354 16.47,14.672C16.515,14.627 16.558,14.579 16.578,14.558C15.647,13.623 14.727,12.698 13.793,11.759C13.519,12.038 13.237,12.326 12.951,12.612C12.682,12.882 12.496,12.916 12.15,12.764C10.016,11.826 8.481,10.284 7.516,8.167C7.323,7.744 7.349,7.589 7.674,7.264C7.951,6.987 8.229,6.712 8.501,6.442C7.566,5.507 6.647,4.586 5.731,3.669Z"
android:fillColor=
"#4E4E4E"
/>
</vector>
app/src/main/res/drawable/ic_scence.xml
0 → 100644
View file @
446a7e24
<vector
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:width=
"22dp"
android:height=
"21dp"
android:viewportWidth=
"22"
android:viewportHeight=
"21"
>
<path
android:pathData=
"M21.4,7.688V2.896C21.4,1.365 20.096,0.1 18.517,0.1H7.602V7.688H12.51V9.685H7.602V13.345H5.508V0.1H3.483C1.904,0.1 0.6,1.365 0.6,2.896V18.105C0.6,19.635 1.904,20.9 3.483,20.9H5.508V17.239H7.602V20.9H18.517C20.096,20.9 21.4,19.635 21.4,18.105V9.718H16.492V7.721H21.4V7.688ZM15.119,6.357V7.688V9.685V11.016H16.492H20.027V18.071C20.027,18.87 19.341,19.536 18.517,19.536H8.975V17.206V15.875H7.602H5.508H4.135V17.206V19.536H3.483C2.659,19.536 1.973,18.87 1.973,18.071V2.896C1.973,2.097 2.659,1.431 3.483,1.431H4.135V13.379V14.71H5.508H7.602H8.975V13.379V11.049H12.51H13.883V9.718V7.721V6.39H12.51H8.975V1.431H18.517C19.341,1.431 20.027,2.097 20.027,2.896V6.39H16.492H15.119V6.357Z"
android:fillColor=
"#4E4E4E"
/>
<path
android:pathData=
"M15.119,13.213C15.119,12.88 14.844,12.613 14.501,12.613C14.158,12.613 13.883,12.88 13.883,13.213V14.51H12.545C12.201,14.51 11.927,14.777 11.927,15.109C11.927,15.442 12.201,15.709 12.545,15.709H13.883V17.007C13.883,17.339 14.158,17.605 14.501,17.605C14.844,17.605 15.119,17.339 15.119,17.007V15.709H16.458C16.801,15.709 17.075,15.442 17.075,15.109C17.075,14.777 16.801,14.51 16.458,14.51H15.119V13.213Z"
android:fillColor=
"#4E4E4E"
/>
</vector>
app/src/main/res/drawable/ic_unchecked.xml
0 → 100644
View file @
446a7e24
<vector
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:width=
"17dp"
android:height=
"17dp"
android:viewportWidth=
"17"
android:viewportHeight=
"17"
>
<path
android:pathData=
"M2.384,15.62C1.926,15.62 1.534,15.456 1.207,15.13C0.88,14.803 0.717,14.411 0.718,13.953V2.286C0.718,1.828 0.881,1.436 1.208,1.109C1.534,0.782 1.927,0.619 2.384,0.62H14.051C14.509,0.62 14.902,0.783 15.229,1.11C15.555,1.436 15.718,1.829 15.718,2.286V13.953C15.718,14.411 15.554,14.804 15.228,15.131C14.901,15.457 14.509,15.62 14.051,15.62H2.384ZM2.384,13.953H14.051V2.286H2.384V13.953Z"
android:fillColor=
"#4E4E4E"
/>
</vector>
app/src/main/res/drawable/ic_viettel_home.xml
0 → 100644
View file @
446a7e24
<vector
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:width=
"414dp"
android:height=
"848dp"
android:viewportWidth=
"414"
android:viewportHeight=
"848"
>
<group>
<clip-path
android:pathData=
"M82,381.53h250v84.45h-250z"
/>
<path
android:pathData=
"M221.02,395.67H218.61C217.65,395.67 216.88,396.44 216.88,397.4V415.22C216.88,416.18 217.65,416.95 218.61,416.95H221.02C221.98,416.95 222.75,416.18 222.75,415.22V397.4C222.75,396.44 221.98,395.67 221.02,395.67Z"
android:fillColor=
"#EE0033"
/>
<path
android:pathData=
"M212.36,395.67C210.85,395.67 209.57,396.58 208.96,397.88L202.57,411.45C202.42,411.77 202.12,412.29 201.86,412.29C201.61,412.29 201.31,411.77 201.16,411.45L194.73,397.88C194.11,396.58 192.84,395.67 191.32,395.67H187.6L197.75,415.31C198.75,417.23 200.81,417.19 201.86,417.19C203.32,417.19 205.03,417.11 205.93,415.31L216.07,395.67H212.36Z"
android:fillColor=
"#EE0033"
/>
<path
android:pathData=
"M324.42,392.4C324.42,391.45 323.64,390.67 322.69,390.67H320.28C319.32,390.67 318.55,391.45 318.55,392.4V410C318.55,412.7 319.5,414.26 321.21,415.39C322.86,416.47 324.77,416.95 328.34,416.95H330.27C331.22,416.95 332,416.18 332,415.22V413.34H330.54C329.49,413.34 327.28,413.3 325.98,412.41C324.27,411.29 324.42,409.28 324.42,407.83V392.4Z"
android:fillColor=
"#EE0033"
/>
<path
android:pathData=
"M286.82,413.34C285.76,413.34 283.55,413.3 282.25,412.41C280.54,411.29 280.69,409.28 280.69,407.84V399.28H286.39C287.34,399.28 288.12,398.51 288.12,397.55V395.67H280.69V392.4C280.69,391.45 279.91,390.67 278.95,390.67H276.55C275.59,390.67 274.82,391.45 274.82,392.4V395.67H262.57V392.4C262.57,391.45 261.79,390.67 260.83,390.67H258.43C257.47,390.67 256.69,391.45 256.69,392.4V395.67H253.03V397.55C253.03,398.51 253.8,399.28 254.76,399.28H256.69V410.01C256.69,412.7 257.64,414.26 259.35,415.39C261.01,416.47 262.92,416.95 266.48,416.95H268.41C269.37,416.95 270.15,416.18 270.15,415.22V413.34H268.69C267.64,413.34 265.43,413.3 264.12,412.41C262.42,411.29 262.57,409.28 262.57,407.84V399.28H274.82V410.01C274.82,412.7 275.77,414.26 277.48,415.39C279.13,416.47 281.04,416.95 284.61,416.95H286.54C287.49,416.95 288.27,416.18 288.27,415.22V413.34H286.82Z"
android:fillColor=
"#EE0033"
/>
<path
android:pathData=
"M245.65,403.02C245.65,403.58 245.49,404.26 244.34,404.26H235.99C233.86,404.26 232.14,405.23 232.14,406.43V404.26C232.19,402.86 232.14,401.69 233.34,400.61C234.95,399.16 237.36,399.2 238.92,399.2C240.57,399.2 242.48,399.28 243.94,400.16C244.79,400.69 245.65,401.69 245.65,403.02ZM250.87,415.22V413.34H237.86C235.71,413.34 233.24,413.1 232.49,410.81C232.29,410.17 232.14,408.8 232.14,407.88H247.6C248.66,407.88 249.66,407.71 250.46,407.07C251.57,406.19 251.72,404.94 251.72,403.86C251.72,401.17 251.07,398.52 247.95,396.95C245.49,395.71 242.28,395.59 239.17,395.59C236.66,395.59 232.14,395.59 229.23,397.59C226.32,399.6 226.07,402.53 226.07,406.51C226.07,409.32 226.22,412.25 227.97,414.26C230.18,416.75 233.39,416.95 236.11,416.95H249.13C250.09,416.95 250.87,416.18 250.87,415.22Z"
android:fillColor=
"#EE0033"
/>
<path
android:pathData=
"M309.16,403.02C309.16,403.58 309.01,404.26 307.85,404.26H299.5C297.37,404.26 295.65,405.23 295.65,406.43V404.26C295.7,402.86 295.65,401.69 296.86,400.61C298.46,399.16 300.87,399.2 302.43,399.2C304.08,399.2 305.99,399.28 307.45,400.16C308.3,400.69 309.16,401.69 309.16,403.02ZM314.38,415.22V413.34H301.37C299.22,413.34 296.76,413.1 296,410.81C295.8,410.17 295.65,408.8 295.65,407.88H311.11C312.17,407.88 313.17,407.71 313.98,407.07C315.08,406.19 315.23,404.94 315.23,403.86C315.23,401.17 314.58,398.52 311.46,396.95C309.01,395.71 305.79,395.59 302.68,395.59C300.17,395.59 295.65,395.59 292.74,397.59C289.83,399.6 289.58,402.53 289.58,406.51C289.58,409.32 289.73,412.25 291.48,414.26C293.69,416.75 296.9,416.95 299.62,416.95H312.64C313.6,416.95 314.38,416.18 314.38,415.22Z"
android:fillColor=
"#EE0033"
/>
<path
android:pathData=
"M221.02,389.71H218.61C217.65,389.71 216.88,390.48 216.88,391.44V395.92C216.88,394.86 218.05,393.66 219.81,393.66H221.02C221.98,393.66 222.75,392.88 222.75,391.92V391.44C222.75,390.48 221.98,389.71 221.02,389.71Z"
android:fillColor=
"#EE0033"
/>
<path
android:pathData=
"M189.15,454.32V424.52C189.15,423.57 189.92,422.8 190.87,422.8H193.3C194.25,422.8 195.02,423.57 195.02,424.52V433.15H203.01C206.29,433.15 208.84,433.7 210.65,434.79C212.45,435.88 213.36,437.75 213.36,440.38V452.6C213.36,453.55 212.59,454.32 211.63,454.32H207.48V441.62C207.48,439.97 207.04,438.74 206.17,437.95C205.3,437.15 203.88,436.75 201.9,436.75H195.02V452.6C195.02,453.55 194.25,454.32 193.3,454.32H189.15Z"
android:fillColor=
"#44494D"
/>
<path
android:pathData=
"M237.12,449.31C235.91,450.41 233.82,450.96 230.84,450.96C227.86,450.96 225.77,450.41 224.56,449.31C223.35,448.2 222.75,446.33 222.75,443.7C222.75,441.09 223.35,439.24 224.56,438.15C225.77,437.05 227.86,436.51 230.84,436.51C233.82,436.51 235.91,437.05 237.12,438.15C238.32,439.24 238.93,441.09 238.93,443.7C238.93,446.33 238.32,448.2 237.12,449.31ZM241.64,435.27C239.4,433.7 235.79,432.92 230.84,432.92C225.88,432.92 222.28,433.7 220.04,435.27C217.79,436.84 216.67,439.65 216.67,443.7C216.67,447.8 217.79,450.63 220.01,452.2C222.24,453.77 225.85,454.56 230.84,454.56C235.83,454.56 239.44,453.77 241.66,452.2C243.89,450.63 245.01,447.8 245.01,443.7C245.01,439.65 243.88,436.84 241.64,435.27Z"
android:fillColor=
"#44494D"
/>
<path
android:pathData=
"M248.32,454.32V436.75C248.32,434.35 249.83,433.15 252.84,433.15H275.9C279.18,433.15 281.73,433.7 283.53,434.79C285.34,435.88 286.25,437.75 286.25,440.38V452.6C286.25,453.55 285.48,454.32 284.52,454.32H280.37V441.62C280.37,439.97 279.93,438.74 279.06,437.95C278.19,437.15 276.77,436.75 274.79,436.75H270.22V452.6C270.22,453.55 269.45,454.32 268.5,454.32H264.35V436.75H255.71C254.7,436.75 254.2,437.15 254.2,437.95V452.6C254.2,453.55 253.43,454.32 252.47,454.32H248.32Z"
android:fillColor=
"#44494D"
/>
<path
android:pathData=
"M297.17,437.73C298.19,436.92 299.94,436.51 302.42,436.51C304.33,436.51 305.93,436.84 307.22,437.51C308.51,438.17 309.15,439.16 309.15,440.46C309.15,441.29 308.72,441.7 307.85,441.7H295.64C295.64,439.86 296.15,438.54 297.17,437.73ZM296.77,449.39C296.02,448.49 295.64,447.13 295.64,445.3H311.11C313.86,445.3 315.23,443.96 315.23,441.3C315.23,438.13 314.13,435.94 311.94,434.73C309.75,433.52 306.57,432.92 302.42,432.92C297.77,432.92 294.46,433.69 292.5,435.23C290.54,436.77 289.56,439.6 289.56,443.7C289.56,445.53 289.69,447.05 289.94,448.25C290.19,449.45 290.67,450.53 291.37,451.5C292.07,452.48 293.1,453.19 294.46,453.64C295.82,454.09 297.53,454.32 299.61,454.32H312.65C313.61,454.32 314.38,453.55 314.38,452.6V450.73H301.37C299.06,450.73 297.52,450.28 296.77,449.39Z"
android:fillColor=
"#44494D"
/>
<path
android:pathData=
"M166.45,423.75C166.45,447.07 147.54,465.97 124.22,465.97C100.9,465.97 82,447.07 82,423.75C82,400.43 100.9,381.53 124.22,381.53C147.54,381.53 166.45,400.43 166.45,423.75Z"
android:fillColor=
"#EE0033"
/>
<path
android:pathData=
"M121.51,414.55C118.97,412.01 114.83,412.01 112.28,414.55L111.2,413.47C114.34,410.33 119.45,410.33 122.59,413.47L121.51,414.55Z"
android:fillColor=
"#ffffff"
/>
<path
android:pathData=
"M124.37,411.69C122.38,409.7 119.72,408.6 116.9,408.6C114.07,408.6 111.42,409.7 109.42,411.69L108.34,410.61C110.63,408.32 113.67,407.07 116.9,407.07C120.13,407.07 123.17,408.32 125.45,410.61L124.37,411.69Z"
android:fillColor=
"#ffffff"
/>
<path
android:pathData=
"M127.67,408.4C121.73,402.46 112.07,402.46 106.13,408.4L105.05,407.32C111.58,400.78 122.21,400.78 128.75,407.32L127.67,408.4Z"
android:fillColor=
"#ffffff"
/>
<path
android:pathData=
"M131.73,445.09H128.03V428.9L116.45,422.22L104.87,428.9V445.09H101.18V426.77L116.45,417.95L131.73,426.77V445.09Z"
android:fillColor=
"#ffffff"
/>
<path
android:pathData=
"M115.89,434.22H113V431.33H115.89V434.22Z"
android:fillColor=
"#ffffff"
/>
<path
android:pathData=
"M119.9,434.22H117.01V431.33H119.9V434.22Z"
android:fillColor=
"#ffffff"
/>
<path
android:pathData=
"M115.89,438.03H113V435.14H115.89V438.03Z"
android:fillColor=
"#ffffff"
/>
<path
android:pathData=
"M119.9,438.03H117.01V435.14H119.9V438.03Z"
android:fillColor=
"#ffffff"
/>
<path
android:pathData=
"M132,417.7L125.28,421.58L128.97,423.71L132,421.97L143.57,428.65V444.84H147.27V426.52L132,417.7Z"
android:fillColor=
"#ffffff"
/>
</group>
</vector>
app/src/main/res/drawable/img_plug.png
0 → 100644
View file @
446a7e24
1.54 KB
app/src/main/res/drawable/selector_checkbox.xml
0 → 100644
View file @
446a7e24
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<item
android:drawable=
"@drawable/ic_checked"
android:state_checked=
"true"
/>
<item
android:drawable=
"@drawable/ic_unchecked"
android:state_checked=
"false"
/>
</selector>
\ No newline at end of file
app/src/main/res/drawable/selector_item.xml
0 → 100644
View file @
446a7e24
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<item
android:state_checked=
"true"
>
<shape>
<gradient
android:startColor=
"#F8214B"
android:endColor=
"#BE0A45"
android:angle=
"110.81"
/>
</shape>
</item>
<item
android:color=
"#4E4E4E"
/>
</selector>
\ No newline at end of file
app/src/main/res/layout/activity_main.xml
0 → 100644
View file @
446a7e24
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
tools:context=
".viettelhome.MainActivity"
>
<androidx.fragment.app.FragmentContainerView
android:id=
"@+id/fragmentContainerView"
android:name=
"androidx.navigation.fragment.NavHostFragment"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
app:defaultNavHost=
"true"
app:navGraph=
"@navigation/my_nav"
tools:layout_editor_absoluteX=
"1dp"
tools:layout_editor_absoluteY=
"1dp"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintBottom_toBottomOf=
"parent"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
app/src/main/res/layout/fragment_device.xml
0 → 100644
View file @
446a7e24
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
tools:context=
".viettelhome.home.DeviceFragment"
>
<androidx.constraintlayout.widget.ConstraintLayout
android:id=
"@+id/linear_header"
android:layout_width=
"match_parent"
android:layout_height=
"0dp"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
>
<LinearLayout
android:id=
"@+id/linear_btn_smart_home"
android:layout_width=
"wrap_content"
android:layout_height=
"0dp"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
android:orientation=
"horizontal"
>
<TextView
android:id=
"@+id/tv_name_smart_home"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"Smart Home"
android:textSize=
"20sp"
android:textColor=
"#4E4E4E"
android:textStyle=
"bold"
android:layout_marginStart=
"16dp"
android:layout_marginTop=
"24dp"
/>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:src=
"@drawable/ic_down_arrow"
android:layout_marginStart=
"8dp"
android:layout_marginTop=
"34dp"
/>
</LinearLayout>
<ImageView
android:id=
"@+id/btn_add_home"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:src=
"@drawable/ic_add_circle"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
android:layout_marginTop=
"24dp"
android:layout_marginEnd=
"16dp"
/>
<View
android:layout_width=
"match_parent"
android:layout_height=
"2dp"
app:layout_constraintTop_toBottomOf=
"@id/btn_add_home"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
android:background=
"#F5F5F5"
android:layout_marginStart=
"20dp"
android:layout_marginTop=
"8dp"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width=
"match_parent"
android:layout_height=
"0dp"
app:layout_constraintTop_toBottomOf=
"@id/linear_header"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintBottom_toBottomOf=
"parent"
android:background=
"@drawable/bg_background_gradius_top_left_24"
>
<ImageView
android:id=
"@+id/btn_menu"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
app:layout_constraintTop_toTopOf=
"parent"
android:src=
"@drawable/ic_menu"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toEndOf=
"@id/tbLayout"
android:layout_marginTop=
"16dp"
android:layout_marginEnd=
"16dp"
/>
<com.google.android.material.tabs.TabLayout
android:id=
"@+id/tbLayout"
android:layout_width=
"0dp"
android:layout_height=
"wrap_content"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintEnd_toStartOf=
"@+id/btn_menu"
android:background=
"@drawable/bg_background_gradius_top_left_24"
app:tabIndicatorFullWidth=
"true"
app:tabMode=
"scrollable"
app:tabGravity=
"center"
android:layout_marginStart=
"16dp"
/>
<androidx.viewpager2.widget.ViewPager2
android:id=
"@+id/viewpager2"
android:layout_width=
"match_parent"
android:layout_height=
"0dp"
app:layout_constraintTop_toBottomOf=
"@id/tbLayout"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintBottom_toBottomOf=
"parent"
/>
<!-- <ImageView-->
<!-- android:id="@+id/img_bg_device"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- app:layout_constraintTop_toTopOf="parent"-->
<!-- app:layout_constraintStart_toStartOf="parent"-->
<!-- app:layout_constraintEnd_toEndOf="parent"-->
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
<!-- android:src="@drawable/bg_background_device"/>-->
<!-- <TextView-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_marginTop="8dp"-->
<!-- android:text="Chưa có thiết bị"-->
<!-- android:textColor="#4E4E4E"-->
<!-- app:layout_constraintEnd_toEndOf="parent"-->
<!-- app:layout_constraintStart_toStartOf="parent"-->
<!-- app:layout_constraintTop_toBottomOf="@id/img_bg_device" />-->
<!-- -->
<!-- <LinearLayout-->
<!-- android:layout_width="352dp"-->
<!-- android:layout_height="48dp"-->
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
<!-- app:layout_constraintStart_toStartOf="parent"-->
<!-- app:layout_constraintEnd_toEndOf="parent"-->
<!-- android:layout_marginBottom="48dp"-->
<!-- android:background="@drawable/bg_background_gradient_radius_8"-->
<!-- android:gravity="center">-->
<!-- <TextView-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:text= "Thêm ngay"-->
<!-- android:textSize="16sp"-->
<!-- android:textColor="@color/white"-->
<!-- android:textStyle="bold"-->
<!-- android:layout_gravity="center"/>-->
<!-- </LinearLayout>-->
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
app/src/main/res/layout/fragment_home_manage.xml
0 → 100644
View file @
446a7e24
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
tools:context=
".viettelhome.home.HomeManageFragment"
>
<FrameLayout
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:id=
"@+id/container"
android:layout_above=
"@id/bottom_navigation"
/>
<com.google.android.material.bottomnavigation.BottomNavigationView
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:id=
"@+id/bottom_navigation"
android:layout_alignParentBottom=
"true"
app:itemIconTint=
"@drawable/selector_item"
app:itemTextColor=
"@drawable/selector_item"
app:menu=
"@menu/bottom_nav_menu"
/>
</RelativeLayout>
\ No newline at end of file
app/src/main/res/layout/fragment_home_page.xml
0 → 100644
View file @
446a7e24
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
tools:context=
".viettelhome.home.HomePageFragment"
>
<!-- TODO: Update blank fragment layout -->
<TextView
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:text=
"@string/hello_blank_fragment"
/>
</FrameLayout>
\ No newline at end of file
app/src/main/res/layout/fragment_list_device_item.xml
0 → 100644
View file @
446a7e24
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:background=
"@drawable/bg_background_radius_15"
>
<TextView
android:id=
"@+id/tv_title_list_item"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
android:text =
"Công tắc, Ổ cắm"
android:textSize=
"16sp"
android:textColor=
"#494949"
android:textStyle=
"bold"
android:layout_marginStart=
"16dp"
android:layout_marginTop=
"8dp"
/>
<TextView
android:id=
"@+id/tv_detail_list_item"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
app:layout_constraintTop_toBottomOf=
"@id/tv_title_list_item"
app:layout_constraintStart_toStartOf=
"parent"
android:text=
"3 Thiết bị đã được thêm vào"
android:textSize=
"10sp"
android:textColor=
"#494949"
android:layout_marginStart=
"16dp"
android:layout_marginTop=
"4dp"
/>
<ImageView
android:id=
"@+id/img_narrow_up"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:src=
"@drawable/ic_narrow_up"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
android:layout_marginEnd=
"16dp"
android:layout_marginTop=
"16dp"
/>
<View
android:layout_width=
"match_parent"
android:layout_height=
"2dp"
android:background=
"#CECECE"
app:layout_constraintTop_toBottomOf=
"@+id/tv_detail_list_item"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
android:layout_marginStart=
"16dp"
android:layout_marginEnd=
"16dp"
android:layout_marginTop=
"8dp"
/>
<androidx.recyclerview.widget.RecyclerView
android:id=
"@+id/recycle_list_device_item"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
app:layout_constraintTop_toBottomOf=
"@id/tv_detail_list_item"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
android:layout_marginTop=
"16dp"
android:layout_marginStart=
"16dp"
android:layout_marginEnd=
"16dp"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
app/src/main/res/layout/fragment_login.xml
0 → 100644
View file @
446a7e24
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
tools:context=
".viettelhome.login.LoginFragment"
android:background=
"@drawable/bg_background_viettel_home"
>
<ImageView
android:id=
"@+id/img_logo_viettel_home"
android:layout_width=
"236dp"
android:layout_height=
"80dp"
android:src=
"@drawable/ic_logo_viettel_home"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
android:layout_marginTop=
"80dp"
/>
<LinearLayout
android:id=
"@+id/linear_enter_phone_number"
android:layout_width=
"match_parent"
android:layout_height=
"48dp"
app:layout_constraintTop_toBottomOf=
"@id/img_logo_viettel_home"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
android:layout_marginTop=
"32dp"
android:layout_marginStart=
"16dp"
android:layout_marginEnd=
"16dp"
android:background=
"@drawable/bg_background_radius_100"
>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:src=
"@drawable/ic_phone"
android:layout_gravity=
"center"
android:layout_marginStart=
"16dp"
/>
<EditText
android:id=
"@+id/et_phone_number"
android:layout_width=
"0dp"
android:layout_height=
"match_parent"
android:layout_weight=
"1"
android:hint=
"Số điện thoại"
android:textSize=
"14sp"
android:textColor=
"#6F6F6F"
android:background=
"@android:color/transparent"
android:layout_marginStart=
"8dp"
/>
<ImageView
android:id=
"@+id/img_close_all_number"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:src=
"@drawable/ic_close"
android:layout_gravity=
"center"
android:layout_marginEnd=
"16dp"
android:visibility=
"invisible"
/>
</LinearLayout>
<TextView
android:id=
"@+id/tv_error_phone_number"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"Số điện thoại không hợp lệ"
android:textColor=
"#FFF8214B"
app:layout_constraintStart_toStartOf=
"parent"
android:layout_marginStart=
"16dp"
app:layout_constraintTop_toBottomOf=
"@+id/linear_enter_phone_number"
android:layout_marginTop=
"8dp"
android:visibility=
"visible"
/>
<LinearLayout
android:id=
"@+id/linear_enter_password"
android:layout_width=
"match_parent"
android:layout_height=
"48dp"
app:layout_constraintTop_toBottomOf=
"@+id/tv_error_phone_number"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
android:layout_marginTop=
"16dp"
android:layout_marginStart=
"16dp"
android:layout_marginEnd=
"16dp"
android:background=
"@drawable/bg_background_radius_100"
android:orientation=
"horizontal"
>
<ImageView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:src=
"@drawable/ic_key_password"
android:layout_gravity=
"center"
android:layout_marginStart=
"16dp"
/>
<EditText
android:id=
"@+id/et_password"
android:layout_width=
"0dp"
android:layout_height=
"match_parent"
android:layout_weight=
"1"
android:hint=
"Mật khẩu"
android:textSize=
"14sp"
android:textColor=
"#6F6F6F"
android:background=
"@android:color/transparent"
android:layout_marginStart=
"8dp"
android:layout_marginEnd=
"8dp"
/>
<ImageView
android:id=
"@+id/img_close_all_password"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:src=
"@drawable/ic_close"
android:layout_gravity=
"center"
android:layout_marginEnd=
"8dp"
android:visibility=
"invisible"
/>
<ImageView
android:id=
"@+id/img_eye_close"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:src=
"@drawable/ic_eye_close"
android:layout_gravity=
"center"
android:layout_marginEnd=
"16dp"
/>
</LinearLayout>
<TextView
android:id=
"@+id/tv_null_password"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"Vui lòng nhập mật khẩu"
android:textColor=
"#FFF8214B"
app:layout_constraintTop_toBottomOf=
"@id/linear_enter_password"
app:layout_constraintStart_toStartOf=
"parent"
android:layout_marginTop=
"8dp"
android:layout_marginStart=
"16dp"
android:visibility=
"visible"
/>
<TextView
android:id=
"@+id/tv_forgot_password"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"@string/forgot_password"
app:layout_constraintTop_toBottomOf=
"@+id/tv_null_password"
app:layout_constraintStart_toStartOf=
"parent"
android:layout_marginTop=
"8dp"
android:layout_marginStart=
"24dp"
android:textSize=
"14sp"
android:textStyle=
"bold"
/>
<TextView
android:id=
"@+id/tv_remember_password"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"Ghi nhớ tài khoản"
android:textSize=
"14sp"
app:layout_constraintTop_toBottomOf=
"@+id/tv_null_password"
app:layout_constraintEnd_toEndOf=
"parent"
android:layout_marginTop=
"8dp"
android:layout_marginEnd=
"16dp"
/>
<androidx.appcompat.widget.AppCompatCheckBox
android:id=
"@+id/cb_remember_password"
android:layout_width=
"16dp"
android:layout_height=
"16dp"
app:layout_constraintTop_toBottomOf=
"@+id/tv_null_password"
android:layout_marginTop=
"10dp"
app:layout_constraintEnd_toStartOf=
"@id/tv_remember_password"
android:layout_marginEnd=
"8dp"
android:button=
"@drawable/selector_checkbox"
/>
<LinearLayout
android:id=
"@+id/btn_login"
android:layout_width=
"320dp"
android:layout_height=
"50dp"
app:layout_constraintTop_toBottomOf=
"@id/tv_forgot_password"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
android:layout_marginTop=
"16dp"
android:textSize=
"16sp"
android:background=
"@drawable/bg_background_gradient_radius_8"
android:gravity=
"center"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"ĐĂNG NHẬP"
android:textSize=
"16sp"
android:textColor=
"@color/white"
android:textStyle=
"bold"
android:layout_gravity=
"center"
/>
</LinearLayout>
<TextView
android:id=
"@+id/tv_change_login"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
app:layout_constraintTop_toBottomOf=
"@id/btn_login"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
android:layout_marginTop=
"24dp"
android:text=
"Hoặc đăng nhập bằng"
/>
<ImageView
android:id=
"@+id/img_change_login"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:src=
"@drawable/ic_otp"
app:layout_constraintTop_toBottomOf=
"@id/tv_change_login"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
android:layout_marginTop=
"16dp"
/>
<LinearLayout
android:id=
"@+id/linear_register_now"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:orientation=
"horizontal"
app:layout_constraintTop_toBottomOf=
"@id/img_change_login"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
android:layout_marginTop=
"32dp"
android:gravity=
"center"
>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"Bạn chưa có tài khoản? "
/>
<TextView
android:id=
"@+id/tv_register_now"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"@string/register_now"
android:textStyle=
"bold"
android:textColor=
"#FFF8214B"
android:layout_marginStart=
"8dp"
/>
</LinearLayout>
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"@string/service"
android:textSize=
"10sp"
android:textColor=
"#FFF8214B"
android:textStyle=
"normal"
app:layout_constraintTop_toBottomOf=
"@id/linear_register_now"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
android:layout_marginTop=
"16dp"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
app/src/main/res/layout/fragment_personal.xml
0 → 100644
View file @
446a7e24
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
tools:context=
".viettelhome.home.PersonalFragment"
>
<!-- TODO: Update blank fragment layout -->
<TextView
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:text=
"@string/hello_blank_fragment"
/>
</FrameLayout>
\ No newline at end of file
app/src/main/res/layout/fragment_room.xml
0 → 100644
View file @
446a7e24
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
tools:context=
".viettelhome.room.RoomFragment"
android:background=
"#F5F5F5"
>
<LinearLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
android:layout_marginTop=
"16dp"
android:layout_marginStart=
"16dp"
android:layout_marginEnd=
"16dp"
>
<include
android:id=
"@+id/layout_list_device"
layout=
"@layout/fragment_list_device_item"
/>
</LinearLayout>
<!-- <ImageView-->
<!-- android:id="@+id/img_bg_device_in_room"-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- app:layout_constraintTop_toTopOf="parent"-->
<!-- app:layout_constraintStart_toStartOf="parent"-->
<!-- app:layout_constraintEnd_toEndOf="parent"-->
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
<!-- android:src="@drawable/bg_background_device"/>-->
<!-- <TextView-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_marginTop="8dp"-->
<!-- android:text="Chưa có thiết bị"-->
<!-- android:textColor="#4E4E4E"-->
<!-- app:layout_constraintEnd_toEndOf="parent"-->
<!-- app:layout_constraintStart_toStartOf="parent"-->
<!-- app:layout_constraintTop_toBottomOf="@id/img_bg_device_in_room" />-->
<!-- <LinearLayout-->
<!-- android:layout_width="352dp"-->
<!-- android:layout_height="48dp"-->
<!-- app:layout_constraintBottom_toBottomOf="parent"-->
<!-- app:layout_constraintStart_toStartOf="parent"-->
<!-- app:layout_constraintEnd_toEndOf="parent"-->
<!-- android:layout_marginBottom="48dp"-->
<!-- android:background="@drawable/bg_background_gradient_radius_8"-->
<!-- android:gravity="center">-->
<!-- <TextView-->
<!-- android:layout_width="wrap_content"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:text= "Thêm ngay"-->
<!-- android:textSize="16sp"-->
<!-- android:textColor="@color/white"-->
<!-- android:textStyle="bold"-->
<!-- android:layout_gravity="center"/>-->
<!-- </LinearLayout>-->
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
app/src/main/res/layout/fragment_scence.xml
0 → 100644
View file @
446a7e24
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
tools:context=
".viettelhome.home.ScenceFragment"
>
<!-- TODO: Update blank fragment layout -->
<TextView
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:text=
"@string/hello_blank_fragment"
/>
</FrameLayout>
\ No newline at end of file
app/src/main/res/layout/fragment_shopping.xml
0 → 100644
View file @
446a7e24
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
tools:context=
".viettelhome.home.ShoppingFragment"
>
<!-- TODO: Update blank fragment layout -->
<TextView
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:text=
"@string/hello_blank_fragment"
/>
</FrameLayout>
\ No newline at end of file
app/src/main/res/layout/item_device.xml
0 → 100644
View file @
446a7e24
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
>
<ImageView
android:id=
"@+id/img_device"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:src=
"@drawable/img_plug"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
android:layout_marginTop=
"8dp"
/>
<TextView
android:id=
"@+id/tv_name_device"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"Ổ cắm thông minh 1"
android:textSize=
"14sp"
android:textColor=
"@color/black"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintStart_toEndOf=
"@id/img_device"
android:layout_marginStart=
"16dp"
android:layout_marginTop=
"8dp"
/>
<TextView
android:id=
"@+id/tv_position"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"Phòng khách"
android:textColor=
"#4E4E4E"
android:textSize=
"12sp"
app:layout_constraintTop_toBottomOf=
"@id/tv_name_device"
app:layout_constraintStart_toEndOf=
"@id/img_device"
android:layout_marginStart=
"16dp"
android:layout_marginTop=
"8dp"
/>
<ImageView
android:id=
"@+id/img_status_device"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:src=
"@drawable/ic_online_status"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintEnd_toStartOf=
"@id/tv_status_device"
app:layout_constraintBottom_toBottomOf=
"parent"
android:layout_marginEnd=
"8dp"
/>
<TextView
android:id=
"@+id/tv_status_device"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"Trực tuyến"
app:layout_constraintTop_toTopOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintBottom_toBottomOf=
"parent"
/>
<View
android:layout_width=
"match_parent"
android:layout_height=
"2dp"
android:background=
"#CECECE"
app:layout_constraintTop_toBottomOf=
"@id/img_device"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintEnd_toEndOf=
"parent"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
app/src/main/res/layout/item_spinner.xml
0 → 100644
View file @
446a7e24
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
<TextView
android:id=
"@+id/tv_name_smart_home"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:textSize=
"20sp"
android:textColor=
"#4E4E4E"
android:textStyle=
"bold"
/>
</LinearLayout>
\ No newline at end of file
app/src/main/res/layout/tab_custom.xml
0 → 100644
View file @
446a7e24
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:id=
"@+id/tab_title"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:textSize=
"14sp"
android:textAllCaps=
"false"
android:gravity=
"center"
/>
\ No newline at end of file
app/src/main/res/menu/bottom_nav_menu.xml
0 → 100644
View file @
446a7e24
<?xml version="1.0" encoding="utf-8"?>
<menu
xmlns:android=
"http://schemas.android.com/apk/res/android"
>
<item
android:id=
"@+id/nav_home"
android:title=
"Trang chủ"
android:icon=
"@drawable/ic_home"
/>
<item
android:id=
"@+id/nav_device"
android:title=
"Thiết bị"
android:icon=
"@drawable/ic_device"
/>
<item
android:id=
"@+id/nav_scence"
android:title=
"Ngữ cảnh"
android:icon=
"@drawable/ic_scence"
/>
<item
android:id=
"@+id/nav_shopping"
android:title=
"Mua sắm"
android:icon=
"@drawable/ic_cart"
/>
<item
android:id=
"@+id/nav_personal"
android:title=
"Cá nhân"
android:icon=
"@drawable/ic_personal"
/>
</menu>
\ No newline at end of file
app/src/main/res/navigation/my_nav.xml
0 → 100644
View file @
446a7e24
<?xml version="1.0" encoding="utf-8"?>
<navigation
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
android:id=
"@+id/my_nav"
app:startDestination=
"@id/loginFragment"
>
<fragment
android:id=
"@+id/loginFragment"
android:name=
"com.tuya.appsdk.sample.viettelhome.login.LoginFragment"
android:label=
"fragment_login"
tools:layout=
"@layout/fragment_login"
>
<action
android:id=
"@+id/action_loginFragment_to_homeManageFragment"
app:destination=
"@id/homeManageFragment"
/>
</fragment>
<fragment
android:id=
"@+id/homeManageFragment"
android:name=
"com.tuya.appsdk.sample.viettelhome.home.HomeManageFragment"
android:label=
"fragment_home_manage"
tools:layout=
"@layout/fragment_home_manage"
/>
</navigation>
\ No newline at end of file
app/src/main/res/values/color_gradient.xml
0 → 100644
View file @
446a7e24
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color
name=
"gradient_color_start"
>
#F8214B
</color>
<color
name=
"gradient_color_end"
>
#BE0A45
</color>
</resources>
\ No newline at end of file
app/src/main/res/values/strings.xml
View file @
446a7e24
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<string
name=
"app_name"
>
Tuya SDK Kotlin
</string>
<string
name=
"user_guide_title"
>
Tuya SDK Sample
</string>
<string
name=
"user_login"
>
Login
</string>
<string
name=
"user_country_code"
>
Country Code
</string>
<string
name=
"user_account_tips"
>
Email Address or Phone Number
</string>
<string
name=
"user_password"
>
Password
</string>
<string
name=
"user_forget_password_tips"
>
Forget Password?
</string>
<string
name=
"user_register"
>
Register
</string>
<string
name=
"user_verification_code"
>
Verification Code
</string>
<string
name=
"user_send_code"
>
Send Verification Code
</string>
<string
name=
"user_reset_password"
>
Reset Password
</string>
<string
name=
"user_new_password"
>
Reset Password
</string>
<string
name=
"user_info_title"
>
User Information
</string>
<string
name=
"user_name"
>
User Name
</string>
<string
name=
"user_phone_number"
>
Phone Number
</string>
<string
name=
"user_email_address"
>
Email Address
</string>
<string
name=
"user_management"
>
USER MANAGEMENT
</string>
<string
name=
"user_logout"
>
Logout
</string>
<string
name=
"user_time_zone"
>
Time Zone
</string>
<string
name=
"user_unit_temperature"
>
Unit of Temperature
</string>
<string
name=
"app_version_tips"
>
SDK Ver: %s
</string>
<string
name=
"main_logo"
>
Tuya Smart
</string>
<string
name=
"user_update_coordinate"
>
Updata Geographic Coordinate
</string>
<string
name=
"user_deactive_account"
>
Deactive Account
</string>
<string
name=
"user_country_China"
>
China
</string>
<string
name=
"user_country_America"
>
America
</string>
<string
name=
"user_country_English"
>
English
</string>
<string
name=
"user_country_Australia"
>
Australia
</string>
<string
name=
"user_country_Japan"
>
Japan
</string>
<string
name=
"user_country_Egypt"
>
Egypt
</string>
<string
name=
"user_time_Asia"
>
Asia/Aden
</string>
<string
name=
"user_time_America"
>
America/Cuiaba
</string>
<string
name=
"user_time_Etc"
>
Etc/Gmt+9"
</string>
<?xml version="1.0" encoding="UTF-8"?>
<resources
xmlns:tools=
"http://schemas.android.com/tools"
>
<string
name=
"app_name"
>
Tuya SDK Kotlin
</string>
<string
name=
"user_guide_title"
>
Tuya SDK Sample
</string>
<string
name=
"user_login"
>
Login
</string>
<string
name=
"user_country_code"
>
Country Code
</string>
<string
name=
"user_account_tips"
>
Email Address or Phone Number
</string>
<string
name=
"user_password"
>
Password
</string>
<string
name=
"user_forget_password_tips"
>
Forget Password?
</string>
<string
name=
"user_register"
>
Register
</string>
<string
name=
"user_verification_code"
>
Verification Code
</string>
<string
name=
"user_send_code"
>
Send Verification Code
</string>
<string
name=
"user_reset_password"
>
Reset Password
</string>
<string
name=
"user_new_password"
>
Reset Password
</string>
<string
name=
"user_info_title"
>
User Information
</string>
<string
name=
"user_name"
>
User Name
</string>
<string
name=
"user_phone_number"
>
Phone Number
</string>
<string
name=
"user_email_address"
>
Email Address
</string>
<string
name=
"user_management"
>
USER MANAGEMENT
</string>
<string
name=
"user_logout"
>
Logout
</string>
<string
name=
"user_time_zone"
>
Time Zone
</string>
<string
name=
"user_unit_temperature"
>
Unit of Temperature
</string>
<string
name=
"app_version_tips"
>
SDK Ver: %s
</string>
<string
name=
"main_logo"
>
Tuya Smart
</string>
<string
name=
"user_update_coordinate"
>
Updata Geographic Coordinate
</string>
<string
name=
"user_deactive_account"
>
Deactive Account
</string>
<string
name=
"user_country_China"
>
China
</string>
<string
name=
"user_country_America"
>
America
</string>
<string
name=
"user_country_English"
>
English
</string>
<string
name=
"user_country_Australia"
>
Australia
</string>
<string
name=
"user_country_Japan"
>
Japan
</string>
<string
name=
"user_country_Egypt"
>
Egypt
</string>
<string
name=
"user_time_Asia"
>
Asia/Aden
</string>
<string
name=
"user_time_America"
>
America/Cuiaba
</string>
<string
name=
"user_time_Etc"
>
Etc/Gmt+9"
</string>
<!-- TODO: Remove or change this placeholder text -->
<string
name=
"hello_blank_fragment"
translatable=
"false"
>
Hello blank fragment
</string>
<string
name=
"forgot_password"
translatable=
"false"
><u>
Quên mật khẩu
</u>
</string>
<string
name=
"register_now"
translatable=
"false"
><u>
Đăng ký ngay
</u></string>
<string
name=
"service"
translatable=
"false"
><u>
Điều khoản sử dụng dịch vụ và chính sách bảo mật Viettel Home
</u></string>
</resources>
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