Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
A
android-yes
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Kheang Chenda
android-yes
Commits
ab53d5c7
Commit
ab53d5c7
authored
Jul 03, 2025
by
Seatel
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
upgrade solutions yes members and yes coins
parent
e29d07be
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
241 additions
and
134 deletions
+241
-134
build.gradle
app/build.gradle
+9
-3
HomeImageSliderAdapter.kt
...atel/mobilehall/ui/home/adapter/HomeImageSliderAdapter.kt
+79
-80
ImageSliderAdapter.kt
...m/seatel/mobilehall/ui/home/adapter/ImageSliderAdapter.kt
+40
-13
HomeFragment.kt
...va/com/seatel/mobilehall/ui/home/fragment/HomeFragment.kt
+60
-19
YesMemberFragment.kt
...el/mobilehall/ui/yes_member/fragment/YesMemberFragment.kt
+12
-0
YesMemberMainModel.kt
...atel/mobilehall/ui/yes_member/model/YesMemberMainModel.kt
+3
-1
activity_home.xml
app/src/main/res/layout/activity_home.xml
+1
-0
fragment_home.xml
app/src/main/res/layout/fragment_home.xml
+15
-14
fragment_yes_member.xml
app/src/main/res/layout/fragment_yes_member.xml
+7
-0
item.xml
app/src/main/res/layout/item.xml
+13
-0
item_home_image_slider.xml
app/src/main/res/layout/item_home_image_slider.xml
+0
-1
settings.gradle
settings.gradle
+2
-3
No files found.
app/build.gradle
View file @
ab53d5c7
...
...
@@ -17,7 +17,7 @@ android {
storePassword
'seatel_Cambodia'
keyPassword
'seatel_Cambodia'
keyAlias
'seatel_cambodia'
storeFile
file
(
'/Users/
luckeavan/Documents/YES-Seatel/YesApp-Android/android-yes/seashop
.jks'
)
storeFile
file
(
'/Users/
ryan/Documents/Project/Seatel_android_project/sea-tel-android/app/key/release
.jks'
)
}
}
compileSdk
34
...
...
@@ -127,6 +127,7 @@ dependencies {
annotationProcessor
'com.github.bumptech.glide:compiler:4.13.0'
implementation
'com.android.support:multidex:1.0.3'
implementation
'com.github.bigstark:fresco-parallax-drawee-view:1.2.1'
implementation
'com.github.bigstark:fresco-parallax-drawee-view:1.2.0'
implementation
'com.facebook.android:facebook-android-sdk:4.42.0'
implementation
'com.mcxiaoke.volley:library:1.0.19'
implementation
'com.jaredrummler:android-device-names:1.1.7'
...
...
@@ -216,12 +217,13 @@ dependencies {
// implementation 'com.dinuscxj:circleprogressbar:1.3.6'
// implementation(name: 'circleprogressbar-debug', ext: 'aar')
implementation
'com.github.smarteist:autoimageslider:1.4.0'
//implementation 'com.github.smarteist:autoimageslider:1.4.0'
//implementation ("com.github.smarteist:autoimageslider:1.4.0-appcompat")
//api 'com.theartofdev.edmodo:android-image-cropper:2.8.0'
implementation
(
"com.vanniktech:android-image-cropper:4.6.0"
)
// implementation 'com.github.CanHub:Android-Image-Cropper:4.3.2'
//
implementation 'io.realm:realm-gradle-plugin:10.11.1'
// implementation 'io.realm:realm-gradle-plugin:10.11.1'
// test
testImplementation
'junit:junit'
...
...
@@ -230,4 +232,8 @@ dependencies {
//noinspection GradleDependency
androidTestImplementation
'androidx.test.espresso:espresso-core:3.4.0'
implementation
'androidx.viewpager2:viewpager2:1.0.0'
implementation
'com.google.android.material:material:1.11.0'
implementation
(
"io.coil-kt:coil:2.4.0"
)
}
app/src/main/java/com/seatel/mobilehall/ui/home/adapter/HomeImageSliderAdapter.kt
View file @
ab53d5c7
package
com.seatel.mobilehall.ui.home.adapter
import
android.content.Context
import
android.view.LayoutInflater
import
android.view.View
import
android.view.ViewGroup
import
coil.load
import
com.seatel.mobilehall.R
import
com.seatel.mobilehall.databinding.ItemHomeImageSliderBinding
import
com.seatel.mobilehall.ui.home.model.BannersModel
import
com.seatel.mobilehall.ui.login.activity.TermsAndConditionsActivity
import
com.smarteist.autoimageslider.SliderViewAdapter
class
HomeImageSliderAdapter
(
var
context
:
Context
,
private
var
onActionLink
:
(
String
)
->
Unit
,
)
:
SliderViewAdapter
<
HomeImageSliderAdapter
.
SliderAdapterVH
>()
{
private
var
mSliderItems
=
mutableListOf
<
BannersModel
>()
fun
renewItems
(
sliderItems
:
MutableList
<
BannersModel
>)
{
mSliderItems
=
sliderItems
notifyDataSetChanged
()
}
fun
deleteItem
(
position
:
Int
)
{
mSliderItems
.
removeAt
(
position
)
notifyDataSetChanged
()
}
fun
addItem
(
sliderItem
:
List
<
BannersModel
>)
{
mSliderItems
=
sliderItem
.
toMutableList
()
notifyDataSetChanged
()
}
override
fun
onCreateViewHolder
(
parent
:
ViewGroup
):
SliderAdapterVH
{
val
binding
=
ItemHomeImageSliderBinding
.
inflate
(
LayoutInflater
.
from
(
parent
.
context
),
parent
,
false
)
return
SliderAdapterVH
(
binding
)
}
override
fun
onBindViewHolder
(
viewHolder
:
SliderAdapterVH
,
position
:
Int
)
{
val
sliderItem
=
mSliderItems
[
position
]
// Load image with Coil
viewHolder
.
view
.
ivAutoImageSlider
.
load
(
sliderItem
.
imageUrl
)
{
crossfade
(
true
)
placeholder
(
R
.
drawable
.
bg_round_gray_section
)
error
(
R
.
drawable
.
bg_round_gray_section
)
}
viewHolder
.
itemView
.
setOnClickListener
(
View
.
OnClickListener
{
when
(
sliderItem
.
actionType
)
{
"in-app"
->
{
TermsAndConditionsActivity
.
launch
(
context
,
sliderItem
.
imageUrl
!!
)
}
"out-app"
->
{
sliderItem
.
url
?.
let
{
url
->
onActionLink
.
invoke
(
url
)
}
}
}
})
}
override
fun
getCount
():
Int
{
//slider view count could be dynamic size
return
mSliderItems
.
size
}
class
SliderAdapterVH
(
val
view
:
ItemHomeImageSliderBinding
)
:
ViewHolder
(
view
.
root
)
}
\ No newline at end of file
////package com.seatel.mobilehall.ui.home.adapter
////
////import android.content.Context
////import android.view.LayoutInflater
////import android.view.View
////import android.view.ViewGroup
////import coil.load
////import com.seatel.mobilehall.R
////import com.seatel.mobilehall.databinding.ItemHomeImageSliderBinding
////import com.seatel.mobilehall.ui.home.model.BannersModel
////import com.seatel.mobilehall.ui.login.activity.TermsAndConditionsActivity
////
//class HomeImageSliderAdapter(
//// var context: Context,
//// private var onActionLink: (String) -> Unit,
////) : SliderViewAdapter<HomeImageSliderAdapter.SliderAdapterVH>() {
////
//// private var mSliderItems = mutableListOf<BannersModel>()
////
//// fun renewItems(sliderItems: MutableList<BannersModel>) {
//// mSliderItems = sliderItems
//// notifyDataSetChanged()
//// }
////
//// fun deleteItem(position: Int) {
//// mSliderItems.removeAt(position)
//// notifyDataSetChanged()
//// }
////
//// fun addItem(sliderItem: List<BannersModel>) {
//// mSliderItems = sliderItem.toMutableList()
//// notifyDataSetChanged()
//// }
////
//// override fun onCreateViewHolder(parent: ViewGroup): SliderAdapterVH {
////
//// val binding =
//// ItemHomeImageSliderBinding.inflate(LayoutInflater.from(parent.context), parent, false)
//// return SliderAdapterVH(binding)
////
//// }
////
//// override fun onBindViewHolder(viewHolder: SliderAdapterVH, position: Int) {
//// val sliderItem = mSliderItems[position]
////
//// // Load image with Coil
//// viewHolder.view.ivAutoImageSlider.load(sliderItem.imageUrl) {
//// crossfade(true)
//// placeholder(R.drawable.bg_round_gray_section)
//// error(R.drawable.bg_round_gray_section)
//// }
//// viewHolder.itemView.setOnClickListener(View.OnClickListener {
////
//// when (sliderItem.actionType) {
//// "in-app" -> {
//// TermsAndConditionsActivity.launch(
//// context, sliderItem.imageUrl!!
//// )
//// }
////
//// "out-app" -> {
//// sliderItem.url?.let { url ->
//// onActionLink.invoke(url)
//// }
////
//// }
//// }
////
////
//// })
//// }
////
//// override fun getCount(): Int {
//// //slider view count could be dynamic size
//// return mSliderItems.size
//// }
////
//// class SliderAdapterVH(val view: ItemHomeImageSliderBinding) : ViewHolder(view.root)
////}
\ No newline at end of file
app/src/main/java/com/seatel/mobilehall/ui/home/adapter/ImageSliderAdapter.kt
View file @
ab53d5c7
package
com.seatel.mobilehall.ui.home.adapter
import
android.os.Handler
import
android.os.Looper
import
android.view.LayoutInflater
import
android.view.View
import
android.view.ViewGroup
import
android.widget.ImageView
import
androidx.core.view.size
import
androidx.recyclerview.widget.RecyclerView
import
androidx.viewpager2.widget.ViewPager2
import
coil.load
import
com.bumptech.glide.Glide
import
com.seatel.mobilehall.R
import
com.seatel.mobilehall.databinding.ItemBinding
import
com.seatel.mobilehall.ui.home.model.BannersModel
import
com.seatel.mobilehall.ui.login.activity.TermsAndConditionsActivity
class
ImageSliderAdapter
(
private
val
banners
:
List
<
BannersModel
>)
:
RecyclerView
.
Adapter
<
ImageSliderAdapter
.
ViewHolder
>()
{
class
ImageSliderAdapter
(
private
val
banners
:
List
<
BannersModel
>,
private
var
onActionLink
:
(
String
)
->
Unit
,
)
:
RecyclerView
.
Adapter
<
ImageSliderAdapter
.
SliderVH
>()
{
class
ViewHolder
(
itemView
:
View
)
:
RecyclerView
.
ViewHolder
(
itemView
)
{
val
imageView
:
ImageView
=
itemView
.
findViewById
(
R
.
id
.
imageView
)
}
private
val
newList
:
List
<
BannersModel
>
=
listOf
(
banners
.
last
())
+
banners
+
listOf
(
banners
.
first
())
class
SliderVH
(
val
binding
:
ItemBinding
)
:
RecyclerView
.
ViewHolder
(
binding
.
root
)
override
fun
onCreateViewHolder
(
parent
:
ViewGroup
,
viewType
:
Int
):
ViewHolder
{
val
view
=
LayoutInflater
.
from
(
parent
.
context
).
inflate
(
R
.
layout
.
item_image_slider
,
parent
,
false
)
return
ViewHolder
(
view
)
lateinit
var
binding
:
ItemBinding
override
fun
onCreateViewHolder
(
parent
:
ViewGroup
,
viewType
:
Int
):
ImageSliderAdapter
.
SliderVH
{
val
binding
=
ItemBinding
.
inflate
(
LayoutInflater
.
from
(
parent
.
context
),
parent
,
false
)
return
SliderVH
(
binding
)
}
override
fun
onBindViewHolder
(
holder
:
ViewHolder
,
position
:
Int
)
{
val
banner
=
banners
[
position
]
Glide
.
with
(
holder
.
imageView
.
context
)
.
load
(
banner
.
imageUrl
)
// Use banner.url here
.
into
(
holder
.
imageView
)
override
fun
onBindViewHolder
(
holder
:
ImageSliderAdapter
.
SliderVH
,
position
:
Int
)
{
val
banner
=
newList
[
position
]
Glide
.
with
(
holder
.
itemView
.
context
).
load
(
banner
.
imageUrl
).
into
(
holder
.
binding
.
imageView
)
holder
.
itemView
.
setOnClickListener
(
View
.
OnClickListener
{
when
(
banner
.
actionType
)
{
"in-app"
->
{
TermsAndConditionsActivity
.
launch
(
holder
.
itemView
.
context
,
banner
.
imageUrl
!!
)
}
"out-app"
->
{
banner
.
url
?.
let
{
url
->
onActionLink
.
invoke
(
url
)
}
}
}
})
}
override
fun
getItemCount
():
Int
{
return
banners
.
size
return
newList
.
size
}
}
\ No newline at end of file
app/src/main/java/com/seatel/mobilehall/ui/home/fragment/HomeFragment.kt
View file @
ab53d5c7
...
...
@@ -4,6 +4,8 @@ import android.content.Context
import
android.content.Intent
import
android.net.Uri
import
android.os.Bundle
import
android.os.Handler
import
android.os.Looper
import
android.text.TextUtils
import
android.util.Log
import
android.view.LayoutInflater
...
...
@@ -12,6 +14,7 @@ import android.view.ViewGroup
import
android.widget.RelativeLayout
import
android.widget.Toast
import
androidx.recyclerview.widget.LinearLayoutManager
import
androidx.viewpager2.widget.ViewPager2
import
coil.load
import
coil.transform.CircleCropTransformation
import
com.android.volley.Request
...
...
@@ -45,7 +48,7 @@ import com.seatel.mobilehall.ui.home.activity.PromotionActivity
import
com.seatel.mobilehall.ui.home.activity.SupportActivity
import
com.seatel.mobilehall.ui.home.activity.TopUpActivity
import
com.seatel.mobilehall.ui.home.adapter.CategoryAdapter
import
com.seatel.mobilehall.ui.home.adapter.
Home
ImageSliderAdapter
import
com.seatel.mobilehall.ui.home.adapter.ImageSliderAdapter
import
com.seatel.mobilehall.ui.home.interactor.BadgesCountInteractor
import
com.seatel.mobilehall.ui.home.interactor.BannersInteractor
import
com.seatel.mobilehall.ui.home.interactor.CategoryInteractor
...
...
@@ -70,9 +73,6 @@ import com.seatel.mobilehall.util.lang.FirstLoginPreference
import
com.seatel.mobilehall.util.manager.OrderingManager
import
com.seatel.mobilehall.util.request.GetMainData
import
com.seatel.mobilehall.util.viewFragmentBinding
import
com.smarteist.autoimageslider.IndicatorView.animation.type.IndicatorAnimationType
import
com.smarteist.autoimageslider.SliderAnimations
import
com.smarteist.autoimageslider.SliderView
import
org.json.JSONArray
import
org.json.JSONObject
...
...
@@ -101,9 +101,12 @@ class HomeFragment : BaseFragment(), View.OnClickListener, BannersInteractor.Vie
private
var
contactService
=
ArrayList
<
ContactService
>()
private
lateinit
var
homeImageSliderAdapter
:
HomeImageSliderAdapter
//private lateinit var homeImageSliderAdapter: HomeImageSliderAdapter
private
lateinit
var
imageSliderAdapter
:
ImageSliderAdapter
private
var
handler
=
Handler
(
Looper
.
getMainLooper
())
private
lateinit
var
categoryAdapter
:
CategoryAdapter
private
var
autoScrollRunnable
:
Runnable
?
=
null
private
val
autoScrollDelay
=
3000L
override
fun
onAttach
(
context
:
Context
)
{
super
.
onAttach
(
context
)
...
...
@@ -126,6 +129,7 @@ class HomeFragment : BaseFragment(), View.OnClickListener, BannersInteractor.Vie
binding
.
mSwipeRefreshLayout
.
isRefreshing
=
false
// initEvent()
// checkLogin()
stopAutoScroll
()
}
return
binding
.
root
...
...
@@ -251,6 +255,8 @@ class HomeFragment : BaseFragment(), View.OnClickListener, BannersInteractor.Vie
override
fun
onStop
()
{
super
.
onStop
()
if
(
player
!=
null
)
player
!!
.
stop
()
println
(
"on stop"
)
stopAutoScroll
()
}
private
fun
checkLogin
()
{
...
...
@@ -381,8 +387,6 @@ class HomeFragment : BaseFragment(), View.OnClickListener, BannersInteractor.Vie
txtExpiresVal
.
visibility
=
View
.
VISIBLE
txtExpires
.
visibility
=
View
.
VISIBLE
}
}
dataMainScreen
.
getContactService
().
forEach
{
...
...
@@ -472,22 +476,59 @@ class HomeFragment : BaseFragment(), View.OnClickListener, BannersInteractor.Vie
override
fun
onGetBannersSucceed
(
bannersList
:
ArrayList
<
BannersModel
>)
{
binding
.
run
{
bannersList
.
let
{
it
.
run
{
homeImageSliderAdapter
=
HomeImageSliderAdapter
(
requireContext
())
{
if
(
bannersList
.
isEmpty
())
{
println
(
"bannersList is empty"
)
}
else
{
binding
.
run
{
imageSliderAdapter
=
ImageSliderAdapter
(
bannersList
,
onActionLink
=
{
gotoPlayStore
(
packageName
=
"com.nacd.stopdrug"
)
}
homeImageSliderAdapter
.
addItem
(
it
)
homeImageSlider
.
setSliderAdapter
(
homeImageSliderAdapter
)
homeImageSlider
.
setIndicatorAnimation
(
IndicatorAnimationType
.
WORM
)
homeImageSlider
.
autoCycleDirection
=
SliderView
.
LAYOUT_DIRECTION_INHERIT
homeImageSlider
.
setSliderTransformAnimation
(
SliderAnimations
.
SIMPLETRANSFORMATION
)
homeImageSlider
.
scrollTimeInSec
=
3
homeImageSlider
.
startAutoCycle
()
)
viewpager2
.
adapter
=
imageSliderAdapter
viewpager2
.
currentItem
=
1
setupAutoScroll
(
bannersList
.
size
+
2
)
startAutoScroll
()
}
}
}
private
fun
setupAutoScroll
(
bannerList
:
Int
){
binding
.
viewpager2
.
registerOnPageChangeCallback
(
object
:
ViewPager2
.
OnPageChangeCallback
(){
override
fun
onPageScrollStateChanged
(
state
:
Int
)
{
super
.
onPageScrollStateChanged
(
state
)
if
(
state
==
ViewPager2
.
SCROLL_STATE_IDLE
){
when
(
binding
.
viewpager2
.
currentItem
){
bannerList
-
1
->
binding
.
viewpager2
.
setCurrentItem
(
1
,
false
)
0
->
binding
.
viewpager2
.
setCurrentItem
(
bannerList
-
2
,
false
)
}
}
}
override
fun
onPageSelected
(
position
:
Int
)
{
super
.
onPageSelected
(
position
)
if
(
position
!=
0
&&
position
!=
bannerList
-
1
)
{
//pageIndicatorView.setSelected(position-1)
}
}
})
}
private
fun
stopAutoScroll
()
{
autoScrollRunnable
?.
let
{
handler
.
removeCallbacks
(
it
)
}
}
private
fun
startAutoScroll
()
{
autoScrollRunnable
=
object
:
Runnable
{
override
fun
run
()
{
val
current
=
binding
.
viewpager2
.
currentItem
val
next
=
current
+
1
binding
.
viewpager2
.
setCurrentItem
(
next
,
true
)
handler
.
postDelayed
(
this
,
autoScrollDelay
)
}
}
handler
.
postDelayed
(
autoScrollRunnable
!!
,
autoScrollDelay
)
}
...
...
app/src/main/java/com/seatel/mobilehall/ui/yes_member/fragment/YesMemberFragment.kt
View file @
ab53d5c7
...
...
@@ -5,6 +5,7 @@ import android.os.Bundle
import
android.view.LayoutInflater
import
android.view.View
import
android.view.ViewGroup
import
android.widget.Toast
import
androidx.core.content.ContextCompat
import
androidx.core.view.ViewCompat
import
androidx.recyclerview.widget.GridLayoutManager
...
...
@@ -88,12 +89,15 @@ class YesMemberFragment : BaseFragment(), MainTopPartnerInteractor.View {
LinearLayoutManager
(
context
,
LinearLayoutManager
.
HORIZONTAL
,
false
)
adapter
=
YesMemberAdapter
(
requireContext
(),
topPartnerList
)
binding
.
recyclerPartner
.
adapter
=
adapter
Toast
.
makeText
(
context
,
"amount of the top partner is ${topPartnerList.size}"
,
Toast
.
LENGTH_SHORT
).
show
()
if
(
topPartnerList
.
isNotEmpty
())
binding
.
tvPartner
.
visibility
=
View
.
VISIBLE
else
binding
.
tvPartner
.
visibility
=
View
.
GONE
}
override
fun
responsePartnerCategorySucceed
(
partnerCategory
:
ArrayList
<
PartnerCategoryModelItem
>)
{
binding
.
RecyclerPartnerCategory
.
layoutManager
=
GridLayoutManager
(
context
,
2
)
partnerCategoryAdapter
=
MainPartnerCategoryAdapter
(
requireContext
(),
partnerCategory
)
binding
.
RecyclerPartnerCategory
.
adapter
=
partnerCategoryAdapter
if
(
partnerCategory
.
isNotEmpty
())
binding
.
tvPartnerCategory
.
visibility
=
View
.
VISIBLE
else
binding
.
tvPartnerCategory
.
visibility
=
View
.
GONE
}
...
...
@@ -133,6 +137,14 @@ class YesMemberFragment : BaseFragment(), MainTopPartnerInteractor.View {
CoinActivity
.
launch
(
requireContext
(),
imgCoin
!!
,
coinEarn
!!
,
coinDescription
!!
)
}
if
(
mainModel
.
coinHidden
)
binding
.
frameYesCoins
.
visibility
=
View
.
GONE
else
binding
.
frameYesCoins
.
visibility
=
View
.
VISIBLE
if
(
mainModel
.
partnerHidden
){
binding
.
frameYesPartner
.
visibility
=
View
.
GONE
binding
.
qrCodeContainer
.
visibility
=
View
.
GONE
}
else
{
binding
.
frameYesPartner
.
visibility
=
View
.
VISIBLE
binding
.
qrCodeContainer
.
visibility
=
View
.
VISIBLE
}
}
override
fun
responseYesMemberMainFail
(
error
:
VolleyError
)
{
...
...
app/src/main/java/com/seatel/mobilehall/ui/yes_member/model/YesMemberMainModel.kt
View file @
ab53d5c7
...
...
@@ -8,5 +8,7 @@ data class YesMemberMainModel(
val
eligiblePartner
:
Boolean
,
val
partnerBanner
:
String
,
val
partnerDescription
:
String
,
val
status
:
String
val
status
:
String
,
val
coinHidden
:
Boolean
,
val
partnerHidden
:
Boolean
,
)
\ No newline at end of file
app/src/main/res/layout/activity_home.xml
View file @
ab53d5c7
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:fresco=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/colorPinkSoft"
>
...
...
app/src/main/res/layout/fragment_home.xml
View file @
ab53d5c7
...
...
@@ -217,8 +217,20 @@
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
/>
<com.smarteist.autoimageslider.SliderView
android:id=
"@+id/homeImageSlider"
<androidx.appcompat.widget.AppCompatImageView
android:layout_width=
"match_parent"
android:id=
"@+id/viewpager_banner"
android:background=
"@color/browser_actions_bg_grey"
android:layout_height=
"0dp"
android:paddingTop=
"5dp"
android:layout_marginStart=
"@dimen/margin_1x_size"
android:layout_marginEnd=
"@dimen/margin_1x_size"
app:layout_constraintBottom_toBottomOf=
"@id/viewpager2"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"@id/viewpager2"
/>
<androidx.viewpager2.widget.ViewPager2
android:layout_width=
"match_parent"
android:layout_height=
"0dp"
android:layout_marginStart=
"@dimen/margin_1x_size"
...
...
@@ -227,18 +239,7 @@
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
app:sliderAnimationDuration=
"600"
app:sliderAutoCycleDirection=
"back_and_forth"
app:sliderAutoCycleEnabled=
"true"
app:sliderIndicatorAnimationDuration=
"600"
app:sliderIndicatorGravity=
"center_horizontal|bottom"
app:sliderIndicatorMarginBottom=
"@dimen/margin_5x_size"
app:sliderIndicatorOrientation=
"horizontal"
app:sliderIndicatorSelectedColor=
"@color/colorPrimaryDark"
app:sliderIndicatorUnselectedColor=
"#FFF"
app:sliderScrollTimeInSec=
"1"
app:sliderStartAutoCycle=
"true"
/>
android:id=
"@+id/viewpager2"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
...
...
app/src/main/res/layout/fragment_yes_member.xml
View file @
ab53d5c7
...
...
@@ -121,6 +121,7 @@
android:background=
"@drawable/bg_yes_member"
android:backgroundTint=
"@android:color/darker_gray"
android:gravity=
"center_vertical"
android:visibility=
"gone"
app:layout_constraintEnd_toEndOf=
"parent"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toTopOf=
"parent"
>
...
...
@@ -194,6 +195,8 @@
android:layout_width=
"match_parent"
android:layout_height=
"150dp"
android:layout_marginTop=
"@dimen/margin_2x_size"
android:visibility=
"gone"
tools:visibility=
"visible"
android:background=
"@drawable/bg_yes_member"
android:backgroundTint=
"@android:color/darker_gray"
android:gravity=
"center_vertical"
...
...
@@ -275,6 +278,8 @@
android:text=
"Top yes Partner"
android:textColor=
"@color/colorPrimary"
android:textSize=
"@dimen/extra_large_text_size"
android:visibility=
"gone"
tools:visibility=
"visible"
android:textStyle=
"bold"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@+id/constraintLayout2"
/>
...
...
@@ -297,6 +302,7 @@
android:textColor=
"@color/colorPrimary"
android:textSize=
"@dimen/extra_large_text_size"
android:textStyle=
"bold"
android:visibility=
"gone"
app:layout_constraintStart_toStartOf=
"parent"
app:layout_constraintTop_toBottomOf=
"@+id/recyclerPartner"
/>
...
...
@@ -317,6 +323,7 @@
android:id=
"@+id/qrCodeContainer"
android:layout_width=
"80dp"
android:layout_height=
"35dp"
android:visibility=
"gone"
android:layout_marginEnd=
"@dimen/margin_2x_size"
android:layout_marginBottom=
"@dimen/margin_2x_size"
android:background=
"@drawable/rounded_corner"
...
...
app/src/main/res/layout/item.xml
0 → 100644
View file @
ab53d5c7
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
>
<androidx.appcompat.widget.AppCompatImageView
android:id=
"@+id/imageView"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:adjustViewBounds=
"true"
android:scaleType=
"fitXY"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
app/src/main/res/layout/item_home_image_slider.xml
View file @
ab53d5c7
...
...
@@ -11,5 +11,4 @@
android:adjustViewBounds=
"true"
android:scaleType=
"fitXY"
/>
</LinearLayout>
\ No newline at end of file
settings.gradle
View file @
ab53d5c7
pluginManagement
{
repositories
{
maven
{
url
'https://jitpack.io'
}
gradlePluginPortal
()
google
()
jcenter
()
mavenCentral
()
maven
{
url
'https://jitpack.io'
}
}
}
dependencyResolutionManagement
{
repositoriesMode
.
set
(
RepositoriesMode
.
FAIL_ON_PROJECT_REPOS
)
repositories
{
maven
{
url
=
uri
(
"https://jitpack.io"
)
}
google
()
jcenter
()
mavenCentral
()
...
...
@@ -18,7 +18,6 @@ dependencyResolutionManagement {
maven
{
url
'https://jitpack.io'
}
maven
{
url
"https://jcenter.bintray.com"
}
maven
{
url
"https://anylinesdk.blob.core.windows.net/maven/"
}
}
}
rootProject
.
name
=
"seatel"
...
...
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