Commit ab53d5c7 authored by Seatel's avatar Seatel

upgrade solutions yes members and yes coins

parent e29d07be
...@@ -17,7 +17,7 @@ android { ...@@ -17,7 +17,7 @@ android {
storePassword 'seatel_Cambodia' storePassword 'seatel_Cambodia'
keyPassword 'seatel_Cambodia' keyPassword 'seatel_Cambodia'
keyAlias '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 compileSdk 34
...@@ -127,6 +127,7 @@ dependencies { ...@@ -127,6 +127,7 @@ dependencies {
annotationProcessor 'com.github.bumptech.glide:compiler:4.13.0' annotationProcessor 'com.github.bumptech.glide:compiler:4.13.0'
implementation 'com.android.support:multidex:1.0.3' 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.1'
implementation 'com.github.bigstark:fresco-parallax-drawee-view:1.2.0'
implementation 'com.facebook.android:facebook-android-sdk:4.42.0' implementation 'com.facebook.android:facebook-android-sdk:4.42.0'
implementation 'com.mcxiaoke.volley:library:1.0.19' implementation 'com.mcxiaoke.volley:library:1.0.19'
implementation 'com.jaredrummler:android-device-names:1.1.7' implementation 'com.jaredrummler:android-device-names:1.1.7'
...@@ -216,7 +217,8 @@ dependencies { ...@@ -216,7 +217,8 @@ dependencies {
// implementation 'com.dinuscxj:circleprogressbar:1.3.6' // implementation 'com.dinuscxj:circleprogressbar:1.3.6'
// implementation(name: 'circleprogressbar-debug', ext: 'aar') // 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' //api 'com.theartofdev.edmodo:android-image-cropper:2.8.0'
implementation("com.vanniktech:android-image-cropper:4.6.0") implementation("com.vanniktech:android-image-cropper:4.6.0")
...@@ -230,4 +232,8 @@ dependencies { ...@@ -230,4 +232,8 @@ dependencies {
//noinspection GradleDependency //noinspection GradleDependency
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' 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")
} }
package com.seatel.mobilehall.ui.home.adapter ////package com.seatel.mobilehall.ui.home.adapter
////
import android.content.Context ////import android.content.Context
import android.view.LayoutInflater ////import android.view.LayoutInflater
import android.view.View ////import android.view.View
import android.view.ViewGroup ////import android.view.ViewGroup
import coil.load ////import coil.load
import com.seatel.mobilehall.R ////import com.seatel.mobilehall.R
import com.seatel.mobilehall.databinding.ItemHomeImageSliderBinding ////import com.seatel.mobilehall.databinding.ItemHomeImageSliderBinding
import com.seatel.mobilehall.ui.home.model.BannersModel ////import com.seatel.mobilehall.ui.home.model.BannersModel
import com.seatel.mobilehall.ui.login.activity.TermsAndConditionsActivity ////import com.seatel.mobilehall.ui.login.activity.TermsAndConditionsActivity
import com.smarteist.autoimageslider.SliderViewAdapter ////
//class HomeImageSliderAdapter(
class HomeImageSliderAdapter( //// var context: Context,
var context: Context, //// private var onActionLink: (String) -> Unit,
private var onActionLink: (String) -> Unit, ////) : SliderViewAdapter<HomeImageSliderAdapter.SliderAdapterVH>() {
) : SliderViewAdapter<HomeImageSliderAdapter.SliderAdapterVH>() { ////
//// private var mSliderItems = mutableListOf<BannersModel>()
private var mSliderItems = mutableListOf<BannersModel>() ////
//// fun renewItems(sliderItems: MutableList<BannersModel>) {
fun renewItems(sliderItems: MutableList<BannersModel>) { //// mSliderItems = sliderItems
mSliderItems = sliderItems //// notifyDataSetChanged()
notifyDataSetChanged() //// }
} ////
//// fun deleteItem(position: Int) {
fun deleteItem(position: Int) { //// mSliderItems.removeAt(position)
mSliderItems.removeAt(position) //// notifyDataSetChanged()
notifyDataSetChanged() //// }
} ////
//// fun addItem(sliderItem: List<BannersModel>) {
fun addItem(sliderItem: List<BannersModel>) { //// mSliderItems = sliderItem.toMutableList()
mSliderItems = sliderItem.toMutableList() //// notifyDataSetChanged()
notifyDataSetChanged() //// }
} ////
//// override fun onCreateViewHolder(parent: ViewGroup): SliderAdapterVH {
override fun onCreateViewHolder(parent: ViewGroup): SliderAdapterVH { ////
//// val binding =
val binding = //// ItemHomeImageSliderBinding.inflate(LayoutInflater.from(parent.context), parent, false)
ItemHomeImageSliderBinding.inflate(LayoutInflater.from(parent.context), parent, false) //// return SliderAdapterVH(binding)
return SliderAdapterVH(binding) ////
//// }
} ////
//// override fun onBindViewHolder(viewHolder: SliderAdapterVH, position: Int) {
override fun onBindViewHolder(viewHolder: SliderAdapterVH, position: Int) { //// val sliderItem = mSliderItems[position]
val sliderItem = mSliderItems[position] ////
//// // Load image with Coil
// Load image with Coil //// viewHolder.view.ivAutoImageSlider.load(sliderItem.imageUrl) {
viewHolder.view.ivAutoImageSlider.load(sliderItem.imageUrl) { //// crossfade(true)
crossfade(true) //// placeholder(R.drawable.bg_round_gray_section)
placeholder(R.drawable.bg_round_gray_section) //// error(R.drawable.bg_round_gray_section)
error(R.drawable.bg_round_gray_section) //// }
} //// viewHolder.itemView.setOnClickListener(View.OnClickListener {
viewHolder.itemView.setOnClickListener(View.OnClickListener { ////
//// when (sliderItem.actionType) {
when (sliderItem.actionType) { //// "in-app" -> {
"in-app" -> { //// TermsAndConditionsActivity.launch(
TermsAndConditionsActivity.launch( //// context, sliderItem.imageUrl!!
context, sliderItem.imageUrl!! //// )
) //// }
} ////
//// "out-app" -> {
"out-app" -> { //// sliderItem.url?.let { url ->
sliderItem.url?.let { url -> //// onActionLink.invoke(url)
onActionLink.invoke(url) //// }
} ////
//// }
} //// }
} ////
////
//// })
}) //// }
} ////
//// override fun getCount(): Int {
override fun getCount(): Int { //// //slider view count could be dynamic size
//slider view count could be dynamic size //// return mSliderItems.size
return mSliderItems.size //// }
} ////
//// class SliderAdapterVH(val view: ItemHomeImageSliderBinding) : ViewHolder(view.root)
class SliderAdapterVH(val view: ItemHomeImageSliderBinding) : ViewHolder(view.root) ////}
} \ No newline at end of file
\ No newline at end of file
package com.seatel.mobilehall.ui.home.adapter package com.seatel.mobilehall.ui.home.adapter
import android.os.Handler
import android.os.Looper
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.ImageView import android.widget.ImageView
import androidx.core.view.size
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import androidx.viewpager2.widget.ViewPager2
import coil.load
import com.bumptech.glide.Glide import com.bumptech.glide.Glide
import com.seatel.mobilehall.R import com.seatel.mobilehall.R
import com.seatel.mobilehall.databinding.ItemBinding
import com.seatel.mobilehall.ui.home.model.BannersModel 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) { private val newList: List<BannersModel> =
val imageView: ImageView = itemView.findViewById(R.id.imageView) listOf(banners.last()) + banners + listOf(banners.first())
}
class SliderVH(val binding: ItemBinding) : RecyclerView.ViewHolder(binding.root)
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder { lateinit var binding: ItemBinding
val view = LayoutInflater.from(parent.context).inflate(R.layout.item_image_slider, parent, false) override fun onCreateViewHolder(
return ViewHolder(view) 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) { override fun onBindViewHolder(holder: ImageSliderAdapter.SliderVH, position: Int) {
val banner = banners[position] val banner = newList[position]
Glide.with(holder.imageView.context) Glide.with(holder.itemView.context).load(banner.imageUrl).into(holder.binding.imageView)
.load(banner.imageUrl) // Use banner.url here holder.itemView.setOnClickListener(View.OnClickListener {
.into(holder.imageView) 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 { override fun getItemCount(): Int {
return banners.size return newList.size
} }
} }
\ No newline at end of file
...@@ -4,6 +4,8 @@ import android.content.Context ...@@ -4,6 +4,8 @@ import android.content.Context
import android.content.Intent import android.content.Intent
import android.net.Uri import android.net.Uri
import android.os.Bundle import android.os.Bundle
import android.os.Handler
import android.os.Looper
import android.text.TextUtils import android.text.TextUtils
import android.util.Log import android.util.Log
import android.view.LayoutInflater import android.view.LayoutInflater
...@@ -12,6 +14,7 @@ import android.view.ViewGroup ...@@ -12,6 +14,7 @@ import android.view.ViewGroup
import android.widget.RelativeLayout import android.widget.RelativeLayout
import android.widget.Toast import android.widget.Toast
import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.LinearLayoutManager
import androidx.viewpager2.widget.ViewPager2
import coil.load import coil.load
import coil.transform.CircleCropTransformation import coil.transform.CircleCropTransformation
import com.android.volley.Request import com.android.volley.Request
...@@ -45,7 +48,7 @@ import com.seatel.mobilehall.ui.home.activity.PromotionActivity ...@@ -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.SupportActivity
import com.seatel.mobilehall.ui.home.activity.TopUpActivity import com.seatel.mobilehall.ui.home.activity.TopUpActivity
import com.seatel.mobilehall.ui.home.adapter.CategoryAdapter import com.seatel.mobilehall.ui.home.adapter.CategoryAdapter
import com.seatel.mobilehall.ui.home.adapter.HomeImageSliderAdapter import com.seatel.mobilehall.ui.home.adapter.ImageSliderAdapter
import com.seatel.mobilehall.ui.home.interactor.BadgesCountInteractor import com.seatel.mobilehall.ui.home.interactor.BadgesCountInteractor
import com.seatel.mobilehall.ui.home.interactor.BannersInteractor import com.seatel.mobilehall.ui.home.interactor.BannersInteractor
import com.seatel.mobilehall.ui.home.interactor.CategoryInteractor import com.seatel.mobilehall.ui.home.interactor.CategoryInteractor
...@@ -70,9 +73,6 @@ import com.seatel.mobilehall.util.lang.FirstLoginPreference ...@@ -70,9 +73,6 @@ import com.seatel.mobilehall.util.lang.FirstLoginPreference
import com.seatel.mobilehall.util.manager.OrderingManager import com.seatel.mobilehall.util.manager.OrderingManager
import com.seatel.mobilehall.util.request.GetMainData import com.seatel.mobilehall.util.request.GetMainData
import com.seatel.mobilehall.util.viewFragmentBinding 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.JSONArray
import org.json.JSONObject import org.json.JSONObject
...@@ -101,9 +101,12 @@ class HomeFragment : BaseFragment(), View.OnClickListener, BannersInteractor.Vie ...@@ -101,9 +101,12 @@ class HomeFragment : BaseFragment(), View.OnClickListener, BannersInteractor.Vie
private var contactService = ArrayList<ContactService>() 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 lateinit var categoryAdapter: CategoryAdapter
private var autoScrollRunnable: Runnable? = null
private val autoScrollDelay = 3000L
override fun onAttach(context: Context) { override fun onAttach(context: Context) {
super.onAttach(context) super.onAttach(context)
...@@ -126,6 +129,7 @@ class HomeFragment : BaseFragment(), View.OnClickListener, BannersInteractor.Vie ...@@ -126,6 +129,7 @@ class HomeFragment : BaseFragment(), View.OnClickListener, BannersInteractor.Vie
binding.mSwipeRefreshLayout.isRefreshing = false binding.mSwipeRefreshLayout.isRefreshing = false
// initEvent() // initEvent()
// checkLogin() // checkLogin()
stopAutoScroll()
} }
return binding.root return binding.root
...@@ -251,6 +255,8 @@ class HomeFragment : BaseFragment(), View.OnClickListener, BannersInteractor.Vie ...@@ -251,6 +255,8 @@ class HomeFragment : BaseFragment(), View.OnClickListener, BannersInteractor.Vie
override fun onStop() { override fun onStop() {
super.onStop() super.onStop()
if (player != null) player!!.stop() if (player != null) player!!.stop()
println("on stop")
stopAutoScroll()
} }
private fun checkLogin() { private fun checkLogin() {
...@@ -381,8 +387,6 @@ class HomeFragment : BaseFragment(), View.OnClickListener, BannersInteractor.Vie ...@@ -381,8 +387,6 @@ class HomeFragment : BaseFragment(), View.OnClickListener, BannersInteractor.Vie
txtExpiresVal.visibility = View.VISIBLE txtExpiresVal.visibility = View.VISIBLE
txtExpires.visibility = View.VISIBLE txtExpires.visibility = View.VISIBLE
} }
} }
dataMainScreen.getContactService().forEach { dataMainScreen.getContactService().forEach {
...@@ -472,22 +476,59 @@ class HomeFragment : BaseFragment(), View.OnClickListener, BannersInteractor.Vie ...@@ -472,22 +476,59 @@ class HomeFragment : BaseFragment(), View.OnClickListener, BannersInteractor.Vie
override fun onGetBannersSucceed(bannersList: ArrayList<BannersModel>) { override fun onGetBannersSucceed(bannersList: ArrayList<BannersModel>) {
if (bannersList.isEmpty()) {
println("bannersList is empty")
} else {
binding.run { binding.run {
bannersList.let { imageSliderAdapter = ImageSliderAdapter(
it.run { bannersList,
homeImageSliderAdapter = HomeImageSliderAdapter(requireContext()) { onActionLink = {
gotoPlayStore(packageName = "com.nacd.stopdrug") gotoPlayStore(packageName = "com.nacd.stopdrug")
} }
homeImageSliderAdapter.addItem(it) )
homeImageSlider.setSliderAdapter(homeImageSliderAdapter) viewpager2.adapter = imageSliderAdapter
homeImageSlider.setIndicatorAnimation(IndicatorAnimationType.WORM) viewpager2.currentItem = 1
homeImageSlider.autoCycleDirection = SliderView.LAYOUT_DIRECTION_INHERIT setupAutoScroll(bannersList.size + 2)
homeImageSlider.setSliderTransformAnimation(SliderAnimations.SIMPLETRANSFORMATION) startAutoScroll()
homeImageSlider.scrollTimeInSec = 3 }
homeImageSlider.startAutoCycle() }
}
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)
} }
......
...@@ -5,6 +5,7 @@ import android.os.Bundle ...@@ -5,6 +5,7 @@ import android.os.Bundle
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.Toast
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.core.view.ViewCompat import androidx.core.view.ViewCompat
import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.GridLayoutManager
...@@ -88,12 +89,15 @@ class YesMemberFragment : BaseFragment(), MainTopPartnerInteractor.View { ...@@ -88,12 +89,15 @@ class YesMemberFragment : BaseFragment(), MainTopPartnerInteractor.View {
LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false) LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false)
adapter = YesMemberAdapter(requireContext(), topPartnerList) adapter = YesMemberAdapter(requireContext(), topPartnerList)
binding.recyclerPartner.adapter = adapter 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>) { override fun responsePartnerCategorySucceed(partnerCategory: ArrayList<PartnerCategoryModelItem>) {
binding.RecyclerPartnerCategory.layoutManager = GridLayoutManager(context, 2) binding.RecyclerPartnerCategory.layoutManager = GridLayoutManager(context, 2)
partnerCategoryAdapter = MainPartnerCategoryAdapter(requireContext(), partnerCategory) partnerCategoryAdapter = MainPartnerCategoryAdapter(requireContext(), partnerCategory)
binding.RecyclerPartnerCategory.adapter = partnerCategoryAdapter 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 { ...@@ -133,6 +137,14 @@ class YesMemberFragment : BaseFragment(), MainTopPartnerInteractor.View {
CoinActivity.launch(requireContext(), imgCoin!!, coinEarn!!, coinDescription!!) 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) { override fun responseYesMemberMainFail(error: VolleyError) {
......
...@@ -8,5 +8,7 @@ data class YesMemberMainModel( ...@@ -8,5 +8,7 @@ data class YesMemberMainModel(
val eligiblePartner: Boolean, val eligiblePartner: Boolean,
val partnerBanner: String, val partnerBanner: String,
val partnerDescription: String, val partnerDescription: String,
val status: String val status: String,
val coinHidden: Boolean,
val partnerHidden: Boolean,
) )
\ No newline at end of file
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:fresco="http://schemas.android.com/apk/res-auto" xmlns:fresco="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="match_parent" android:layout_height="match_parent"
android:background="@color/colorPinkSoft"> android:background="@color/colorPinkSoft">
......
...@@ -217,8 +217,20 @@ ...@@ -217,8 +217,20 @@
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" /> app:layout_constraintTop_toTopOf="parent" />
<com.smarteist.autoimageslider.SliderView <androidx.appcompat.widget.AppCompatImageView
android:id="@+id/homeImageSlider" 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_width="match_parent"
android:layout_height="0dp" android:layout_height="0dp"
android:layout_marginStart="@dimen/margin_1x_size" android:layout_marginStart="@dimen/margin_1x_size"
...@@ -227,18 +239,7 @@ ...@@ -227,18 +239,7 @@
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
app:sliderAnimationDuration="600" android:id="@+id/viewpager2"/>
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" />
</androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout>
......
...@@ -121,6 +121,7 @@ ...@@ -121,6 +121,7 @@
android:background="@drawable/bg_yes_member" android:background="@drawable/bg_yes_member"
android:backgroundTint="@android:color/darker_gray" android:backgroundTint="@android:color/darker_gray"
android:gravity="center_vertical" android:gravity="center_vertical"
android:visibility="gone"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"> app:layout_constraintTop_toTopOf="parent">
...@@ -194,6 +195,8 @@ ...@@ -194,6 +195,8 @@
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="150dp" android:layout_height="150dp"
android:layout_marginTop="@dimen/margin_2x_size" android:layout_marginTop="@dimen/margin_2x_size"
android:visibility="gone"
tools:visibility="visible"
android:background="@drawable/bg_yes_member" android:background="@drawable/bg_yes_member"
android:backgroundTint="@android:color/darker_gray" android:backgroundTint="@android:color/darker_gray"
android:gravity="center_vertical" android:gravity="center_vertical"
...@@ -275,6 +278,8 @@ ...@@ -275,6 +278,8 @@
android:text="Top yes Partner" android:text="Top yes Partner"
android:textColor="@color/colorPrimary" android:textColor="@color/colorPrimary"
android:textSize="@dimen/extra_large_text_size" android:textSize="@dimen/extra_large_text_size"
android:visibility="gone"
tools:visibility="visible"
android:textStyle="bold" android:textStyle="bold"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/constraintLayout2" /> app:layout_constraintTop_toBottomOf="@+id/constraintLayout2" />
...@@ -297,6 +302,7 @@ ...@@ -297,6 +302,7 @@
android:textColor="@color/colorPrimary" android:textColor="@color/colorPrimary"
android:textSize="@dimen/extra_large_text_size" android:textSize="@dimen/extra_large_text_size"
android:textStyle="bold" android:textStyle="bold"
android:visibility="gone"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/recyclerPartner" /> app:layout_constraintTop_toBottomOf="@+id/recyclerPartner" />
...@@ -317,6 +323,7 @@ ...@@ -317,6 +323,7 @@
android:id="@+id/qrCodeContainer" android:id="@+id/qrCodeContainer"
android:layout_width="80dp" android:layout_width="80dp"
android:layout_height="35dp" android:layout_height="35dp"
android:visibility="gone"
android:layout_marginEnd="@dimen/margin_2x_size" android:layout_marginEnd="@dimen/margin_2x_size"
android:layout_marginBottom="@dimen/margin_2x_size" android:layout_marginBottom="@dimen/margin_2x_size"
android:background="@drawable/rounded_corner" android:background="@drawable/rounded_corner"
......
<?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
...@@ -11,5 +11,4 @@ ...@@ -11,5 +11,4 @@
android:adjustViewBounds="true" android:adjustViewBounds="true"
android:scaleType="fitXY" /> android:scaleType="fitXY" />
</LinearLayout> </LinearLayout>
\ No newline at end of file
pluginManagement { pluginManagement {
repositories { repositories {
maven { url 'https://jitpack.io' }
gradlePluginPortal() gradlePluginPortal()
google() google()
jcenter() jcenter()
mavenCentral() mavenCentral()
maven { url 'https://jitpack.io' }
} }
} }
dependencyResolutionManagement { dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories { repositories {
maven { url = uri("https://jitpack.io") }
google() google()
jcenter() jcenter()
mavenCentral() mavenCentral()
...@@ -18,7 +18,6 @@ dependencyResolutionManagement { ...@@ -18,7 +18,6 @@ dependencyResolutionManagement {
maven { url 'https://jitpack.io' } maven { url 'https://jitpack.io' }
maven { url "https://jcenter.bintray.com"} maven { url "https://jcenter.bintray.com"}
maven { url "https://anylinesdk.blob.core.windows.net/maven/" } maven { url "https://anylinesdk.blob.core.windows.net/maven/" }
} }
} }
rootProject.name = "seatel" rootProject.name = "seatel"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment