Browse Source

兼职工作详情的Activity和其他子容器

liukai 2 years ago
parent
commit
14ee5a45cc
40 changed files with 1178 additions and 1246 deletions
  1. 2 2
      app/src/main/java/com/hongyegroup/zhurijob/app/MyApplication.kt
  2. 10 4
      cpt_main/src/main/java/com/hongyegroup/cpt_main/ui/HomeFragment.kt
  3. 3 1
      cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/mvvm/PartJobDetailChildViewModel.kt
  4. 12 0
      cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/mvvm/PartTimeJobDetailViewModel.kt
  5. 2 1
      cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/router/PartTimeComponentServiceImpl.kt
  6. 100 47
      cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/activity/PartTimeJobDetailActivity.kt
  7. 9 5
      cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/fragment/PartJobDetailFaqFragment.kt
  8. 12 5
      cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/fragment/PartJobDetailFragment.kt
  9. 9 5
      cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/fragment/PartJobDetailGroomingFragment.kt
  10. 20 5
      cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/fragment/PartJobDetailPaymentFragment.kt
  11. 10 4
      cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/fragment/PartJobDetailProcessFragment.kt
  12. 13 5
      cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/fragment/PartJobDetailSlotsFragment.kt
  13. 0 49
      cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/main/PartTimeProfileFragment.kt
  14. BIN
      cpt_parttime/src/main/res/drawable-xxhdpi/job_detail_cancel_job_tips_icon.webp
  15. BIN
      cpt_parttime/src/main/res/drawable-xxhdpi/part_time_me_qna.webp
  16. BIN
      cpt_parttime/src/main/res/drawable-xxhdpi/redpacket_web_delete_rules.webp
  17. 45 232
      cpt_parttime/src/main/res/layout/activity_parttime_job_detail.xml
  18. 2 38
      cpt_parttime/src/main/res/layout/fragment_parttime_job_detail.xml
  19. 1 1
      cpt_parttime/src/main/res/layout/fragment_parttime_job_detail_faq.xml
  20. 1 1
      cpt_parttime/src/main/res/layout/fragment_parttime_job_detail_payment.xml
  21. 0 1
      cpt_parttime/src/main/res/layout/fragment_parttime_job_detail_process.xml
  22. 1 1
      cpt_parttime/src/main/res/layout/fragment_parttime_job_detail_slots.xml
  23. 225 23
      cpt_parttime/src/main/res/layout/fragment_parttime_job_profile.xml
  24. 249 0
      cpt_parttime/src/main/res/layout/include_part_time_job_detail_activity.xml
  25. 0 110
      cpt_parttime/src/main/res/layout/include_parttime_job_detail_header_date_address.xml
  26. 0 39
      cpt_parttime/src/main/res/layout/include_parttime_job_detail_header_interested.xml
  27. 0 75
      cpt_parttime/src/main/res/layout/include_parttime_job_detail_header_qualification.xml
  28. 0 95
      cpt_parttime/src/main/res/layout/include_parttime_job_detail_header_requirement.xml
  29. 0 69
      cpt_parttime/src/main/res/layout/include_parttime_job_detail_header_work.xml
  30. 13 212
      cpt_parttime/src/main/res/layout/include_pensonal_turn_up_rate.xml
  31. 1 1
      cpt_parttime/src/main/res/layout/item_part_job_how_report.xml
  32. 36 0
      cpt_parttime/src/main/res/layout/stub_job_detail_web.xml
  33. 1 8
      cpt_parttime/src/main/res/layout/tab_job_detail_category.xml
  34. 0 203
      cpt_parttime/src/main/res/xml/scene_part_job_detail.xml
  35. 8 3
      cs_baselib/src/main/java/com/guadou/lib_baselib/base/BaseApplication.kt
  36. 1 1
      cs_baselib/src/main/res/layout/easy_titlebar.xml
  37. 392 0
      cs_baselib/src/main/res/layout/layout_placeholder_part_time_detail.xml
  38. BIN
      cs_cptServices/src/main/res/drawable-xhdpi/placeholder_img_merchant_detail_banner_bg.webp
  39. BIN
      cs_cptServices/src/main/res/drawable-xxhdpi/jump_chat_icon.webp
  40. BIN
      cs_cptServices/src/main/res/drawable-xxhdpi/white_delete_icon.webp

+ 2 - 2
app/src/main/java/com/hongyegroup/zhurijob/app/MyApplication.kt

@@ -8,8 +8,8 @@ import android.webkit.WebView
 import com.guadou.cs_cptservices.YYConstants
 import com.guadou.lib_baselib.base.BaseApplication
 import com.guadou.lib_baselib.engine.SP
-import com.guadou.lib_baselib.ext.checkEmpty
 import com.guadou.lib_baselib.engine.getString
+import com.guadou.lib_baselib.ext.checkEmpty
 import dagger.hilt.android.HiltAndroidApp
 
 @HiltAndroidApp
@@ -38,7 +38,7 @@ class MyApplication : BaseApplication() {
     private fun setupWebView() {
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
             val processName = getProcessName(this)
-            if ("com.monstarlab.yyjobs" != processName) {
+            if ("com.hongyegroup.zhurijob" != processName) {
                 WebView.setDataDirectorySuffix(processName ?: "app")
             }
         }

+ 10 - 4
cpt_main/src/main/java/com/hongyegroup/cpt_main/ui/HomeFragment.kt

@@ -27,9 +27,11 @@ import com.scwang.smart.refresh.layout.listener.OnRefreshListener
 class HomeFragment : YYBaseVDBLoadingFragment<HomeViewModel, FragmentHomeBinding>(), IFragmentRefresh,
     OnRefreshListener {
 
+    private val clickProxy by lazy { ClickProxy() }
+
     override fun getDataBindingConfig(): DataBindingConfig {
         return DataBindingConfig(R.layout.fragment_home, BR.viewModel, mViewModel)
-            .addBindingParams(BR.click, ClickProxy())
+            .addBindingParams(BR.click, clickProxy)
     }
 
     //重新生成GLoading对象-跳动动画
@@ -89,15 +91,15 @@ class HomeFragment : YYBaseVDBLoadingFragment<HomeViewModel, FragmentHomeBinding
 
 
         mViewModel.mHotJobAdapter.setOnItemClickListener { adapter, view, position ->
-            toast("去兼职工作详情页面")
+            clickProxy.gotoPartTimeDetailPage()
         }
 
         mViewModel.mCityJobAdapter.setOnItemClickListener { adapter, view, position ->
-            toast("去兼职工作详情页面")
+            clickProxy.gotoPartTimeDetailPage()
         }
 
         mViewModel.mAreaJobAdapter.setOnItemClickListener { adapter, view, position ->
-            toast("去兼职工作详情页面")
+            clickProxy.gotoPartTimeDetailPage()
         }
 
         mViewModel.mJobTipsAdapter.setOnItemClickListener { adapter, view, position ->
@@ -152,6 +154,10 @@ class HomeFragment : YYBaseVDBLoadingFragment<HomeViewModel, FragmentHomeBinding
             YYRouterService.parttimeComponentServer?.startPartTimeJobMainPage()
         }
 
+        fun gotoPartTimeDetailPage() {
+            YYRouterService.parttimeComponentServer?.startPartTimeJobDetailPage()
+        }
+
         fun gotoBulletinBoardPage() {
             toast("去公告板页面")
         }

+ 3 - 1
cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/mvvm/PartJobDetailChildViewModel.kt

@@ -32,9 +32,10 @@ class PartJobDetailChildViewModel @Inject constructor(
         val liveData = MutableLiveData<Boolean>()
 
         launchOnUI {
+            loadStartLoading()
 
             val result = withContext(Dispatchers.IO) {
-                delay(1000)
+                delay(2000)
 
                 val list = mutableListOf<PartJobResult>()
                 for (i in 1..10) {
@@ -46,6 +47,7 @@ class PartJobDetailChildViewModel @Inject constructor(
             }
 
             handleData(result)
+            loadSuccess()
             liveData.postValue(true)
 
         }

+ 12 - 0
cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/mvvm/PartTimeJobDetailViewModel.kt

@@ -4,6 +4,7 @@ import androidx.fragment.app.Fragment
 import androidx.lifecycle.LiveData
 import androidx.lifecycle.MutableLiveData
 import androidx.lifecycle.SavedStateHandle
+import com.guadou.cs_cptservices.adapter.BannerGlobalAdapter
 import com.guadou.lib_baselib.base.vm.BaseViewModel
 import dagger.hilt.android.lifecycle.HiltViewModel
 import kotlinx.coroutines.Dispatchers
@@ -16,6 +17,10 @@ class PartTimeJobDetailViewModel @Inject constructor(
     private val savedStateHandle: SavedStateHandle
 ) : BaseViewModel() {
 
+    var mPartTimeJobDetail :String? = null
+    private val imgUrls = mutableListOf<String>()
+    val mBannerImgAdapter by lazy { BannerGlobalAdapter(imgUrls) }
+
     var mFragments = mutableListOf<Fragment>()
 
     /**
@@ -32,6 +37,13 @@ class PartTimeJobDetailViewModel @Inject constructor(
                 delay(1000)
             }
 
+            mPartTimeJobDetail = "xx"
+
+            imgUrls.clear()
+            imgUrls.add("https://img.zcool.cn/community/0160855ac4e9c6a801212573507ad7.png@1280w_1l_2o_100sh.png")
+            imgUrls.add("http://img.zcool.cn/community/019241565fa3df6ac7255d2e15560a.jpg@1280w_1l_2o_100sh.jpg")
+            imgUrls.add("http://img.zcool.cn/community/0158a658a2b836a801219c77059a95.png@1280w_1l_2o_100sh.png")
+
             loadSuccess()
             liveData.postValue(true)
 

+ 2 - 1
cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/router/PartTimeComponentServiceImpl.kt

@@ -4,13 +4,14 @@ import android.content.Context
 import com.alibaba.android.arouter.facade.annotation.Route
 import com.guadou.cs_router.ARouterPath
 import com.guadou.cs_router.parttime.IParttimeComponentServer
+import com.hongyegroup.cpt_parttime.ui.activity.PartTimeJobDetailActivity
 import com.hongyegroup.cpt_parttime.ui.activity.PartTimeMainActivity
 
 @Route(path = ARouterPath.PATH_SERVICE_PARTTIME, name = "PartTime模块路由服务")
 class PartTimeComponentServiceImpl : IParttimeComponentServer {
 
     override fun startPartTimeJobDetailPage() {
-
+        PartTimeJobDetailActivity.startInstance()
     }
 
     override fun startPartTimeJobMainPage() {

+ 100 - 47
cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/activity/PartTimeJobDetailActivity.kt

@@ -1,30 +1,39 @@
 package com.hongyegroup.cpt_parttime.ui.activity
 
-import android.content.Intent
+import android.annotation.SuppressLint
 import android.os.Bundle
 import android.view.View
 import android.view.WindowManager
 import android.widget.TextView
+import androidx.databinding.DataBindingUtil
 import androidx.lifecycle.MutableLiveData
-import androidx.viewpager.widget.ViewPager
+import androidx.viewpager2.widget.ViewPager2
 import com.google.android.material.tabs.TabLayout
-import com.guadou.cs_cptservices.base.activity.YYBaseVDBActivity
+import com.guadou.cs_cptservices.base.activity.YYBaseVDBLoadingActivity
 import com.guadou.lib_baselib.bean.DataBindingConfig
-import com.guadou.lib_baselib.engine.extLoad
 import com.guadou.lib_baselib.engine.toast
 import com.guadou.lib_baselib.ext.bindFragment
+import com.guadou.lib_baselib.ext.commContext
+import com.guadou.lib_baselib.ext.gotoActivity
 import com.guadou.lib_baselib.utils.CommUtils
-import com.guadou.lib_baselib.utils.StatusBarUtils
+import com.guadou.lib_baselib.utils.log.YYLogUtils
+import com.guadou.lib_baselib.view.gloading.GLoadingTitleStatus
+import com.guadou.lib_baselib.view.gloading.Gloading
+import com.guadou.lib_baselib.view.gloading.GloadingPlaceHolderlAdapter
 import com.hongyegroup.cpt_parttime.BR
 import com.hongyegroup.cpt_parttime.R
 import com.hongyegroup.cpt_parttime.databinding.ActivityParttimeJobDetailBinding
+import com.hongyegroup.cpt_parttime.databinding.IncludePartTimeJobDetailActivityBinding
 import com.hongyegroup.cpt_parttime.mvvm.PartTimeJobDetailViewModel
 import com.hongyegroup.cpt_parttime.ui.fragment.*
+import com.youth.banner.indicator.CircleIndicator
 import dagger.hilt.android.AndroidEntryPoint
 
+@SuppressLint("NotifyDataSetChanged")
 @AndroidEntryPoint
-class PartTimeJobDetailActivity : YYBaseVDBActivity<PartTimeJobDetailViewModel, ActivityParttimeJobDetailBinding>() {
+class PartTimeJobDetailActivity : YYBaseVDBLoadingActivity<PartTimeJobDetailViewModel, ActivityParttimeJobDetailBinding>() {
 
+    private var mRootBinding: IncludePartTimeJobDetailActivityBinding? = null
     private val mClickProxy by lazy { ClickProxy() }
     private val titleList = mutableListOf<String>()  //TabLayot的Title
     private var mCurPagePosition = 0
@@ -39,43 +48,79 @@ class PartTimeJobDetailActivity : YYBaseVDBActivity<PartTimeJobDetailViewModel,
 
     companion object {
         fun startInstance() {
-            val context = CommUtils.getContext()
-            val intent = Intent(context, PartTimeJobDetailActivity::class.java)
-            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
-            context.startActivity(intent)
+            commContext().gotoActivity<PartTimeJobDetailActivity>()
         }
     }
 
+    //重新生成GLoading对象-跳动动画
+    override fun generateGLoading(): Gloading.Holder {
+        return Gloading.from(GloadingPlaceHolderlAdapter(R.layout.layout_placeholder_part_time_detail))
+            .wrap(this, GLoadingTitleStatus(true, true, false))
+            .withRetry { onGoadingRetry() }
+    }
+
     override fun getDataBindingConfig(): DataBindingConfig {
         return DataBindingConfig(R.layout.activity_parttime_job_detail, BR.viewModel, mViewModel)
             .addBindingParams(BR.click, mClickProxy)
     }
 
-    override fun init(savedInstanceState: Bundle?) {
-        StatusBarUtils.immersive(this)
-        setStatusBarWhiteText()
+    override fun startObserve() {
 
-        initData()
     }
 
-    //请求工作详情数据
-    private fun initData() {
-        //normal status
-        titleList.add("工作详情")
-        titleList.add("更多工作")
-        for (i in titleList.indices) {
-            val tab: TabLayout.Tab = mBinding.tabLayout.newTab()
-            val view = CommUtils.inflate(R.layout.tab_job_detail_category)
-            tab.customView = view
-            val text = view.findViewById<TextView>(R.id.tab_text)
-            text.text = titleList[i]
-            mBinding.tabLayout.addTab(tab)
+    override fun init(savedInstanceState: Bundle?) {
+        initDataAndRootView()
+    }
+
+    //请求工作详情数据-并加载真正的布局
+    private fun initDataAndRootView() {
+        if (!mBinding.viewStubRoot.isInflate()) {
+            val start1 = System.currentTimeMillis()
+            mBinding.viewStubRoot.inflateAsync { view ->
+                val end1 = System.currentTimeMillis()
+                YYLogUtils.w("添加布局耗时:" + (end1 - start1))
+                mRootBinding = DataBindingUtil.bind<IncludePartTimeJobDetailActivityBinding>(view)?.apply {
+                    viewModel = mViewModel
+                    click = mClickProxy
+                }
+
+                initRV()
+                checkView2Showed()
+            }
         }
 
-        mBinding.ivJobImage.extLoad("https://img.zcool.cn/community/0160855ac4e9c6a801212573507ad7.png@1280w_1l_2o_100sh.png")
+        //并发网络请求
+        requestDetailData()
+    }
 
+    //这里请求网络数据完成,只展示顶部图片和标题和TabView和ViewPager
+    private fun requestDetailData() {
         mViewModel.requestJobDetail().observe(this) {
+            checkView2Showed()
+        }
+    }
+
+    override fun onGoadingRetry() {
+        requestDetailData()
+    }
+
+    //查询异步加载的布局和异步的远端数据是否已经准备就绪
+    private fun checkView2Showed() {
+        if (mViewModel.mPartTimeJobDetail != null && mRootBinding != null) {
             initPager(hasHow2Report = true, hasGrooming = true)
+            popupData2Top()
+        }
+    }
+
+    private fun popupData2Top() {
+        //展示顶部的图片或者Banner
+        mRootBinding?.apply {
+            ivJobPhotoCover.visibility = View.GONE
+            bannerEmployerImgs.visibility = View.VISIBLE
+            mViewModel.mBannerImgAdapter.notifyDataSetChanged()
+
+
+            //展示标题为工作标题
         }
     }
 
@@ -112,27 +157,28 @@ class PartTimeJobDetailActivity : YYBaseVDBActivity<PartTimeJobDetailViewModel,
         mViewModel.mFragments.add(mPartJobDetailFaqFragment!!)
         titleList.add("常见问题")
 
-        //设置Viewpager-Adapter
-        mBinding.viewPager.bindFragment(supportFragmentManager, mViewModel.mFragments)
+        //更新ViewPager
+        mRootBinding?.viewPager?.apply {
+            adapter?.notifyDataSetChanged()
+            offscreenPageLimit = mViewModel.mFragments.size - 1
+        }
 
         //自定义Tab View,自定义下划线
-        mBinding.tabLayout.removeAllTabs()
+        mRootBinding?.tabLayout?.removeAllTabs()
         for (i in titleList.indices) {
-            val tab: TabLayout.Tab = mBinding.tabLayout.newTab()
+            val tab: TabLayout.Tab? = mRootBinding?.tabLayout?.newTab()
             val view = CommUtils.inflate(R.layout.tab_job_detail_category)
-            tab.customView = view
+            tab?.customView = view
             val text = view.findViewById<TextView>(R.id.tab_text)
             text.text = titleList[i]
-            mBinding.tabLayout.addTab(tab)
+            mRootBinding?.tabLayout?.addTab(tab!!)
         }
 
-        mBinding.viewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener {
-            override fun onPageScrolled(i: Int, v: Float, i1: Int) {}
-            override fun onPageScrollStateChanged(i: Int) {}
-            override fun onPageSelected(i: Int) {
-                mCurPagePosition = i
-                mBinding.tabLayout.setScrollPosition(i, 0f, true)
-                if (i == 0) {
+        mRootBinding?.viewPager?.registerOnPageChangeCallback(object : ViewPager2.OnPageChangeCallback() {
+            override fun onPageSelected(position: Int) {
+                mCurPagePosition = position
+                mRootBinding?.tabLayout?.setScrollPosition(position, 0f, true)
+                if (position == 0) {
                     if (isFragmentShowedStatus) {
                         mClickProxy.isShowBottomBtn.value = true
                     }
@@ -143,17 +189,17 @@ class PartTimeJobDetailActivity : YYBaseVDBActivity<PartTimeJobDetailViewModel,
                     mClickProxy.isShowBottomBtn.value = false
                 }
 
-                mBinding.ivTabRight.visibility = if (i == titleList.size - 1) View.GONE else View.VISIBLE
+                mRootBinding?.ivTabRight?.visibility = if (position == titleList.size - 1) View.GONE else View.VISIBLE
 
                 //监听滚动,设置是否禁用截屏功能
-                setScreenshotEnable(i != 2)
+                setScreenshotEnable(position != 2)
             }
         })
 
-        mBinding.tabLayout.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener {
+        mRootBinding?.tabLayout?.addOnTabSelectedListener(object : TabLayout.OnTabSelectedListener {
             override fun onTabSelected(tab: TabLayout.Tab) {
                 val position = tab.position
-                mBinding.viewPager.setCurrentItem(position, true)
+                mRootBinding?.viewPager?.setCurrentItem(position, true)
             }
 
             override fun onTabUnselected(tab: TabLayout.Tab) {}
@@ -170,10 +216,17 @@ class PartTimeJobDetailActivity : YYBaseVDBActivity<PartTimeJobDetailViewModel,
         }
     }
 
-    override fun startObserve() {
+    private fun initRV() {
+        //设置banner图片的RV
+        mRootBinding?.apply {
+            bannerEmployerImgs.addBannerLifecycleObserver(this@PartTimeJobDetailActivity)
+            bannerEmployerImgs.indicator = CircleIndicator(mActivity)
+            bannerEmployerImgs.adapter = mViewModel.mBannerImgAdapter
 
-    }
+            viewPager.bindFragment(supportFragmentManager, this@PartTimeJobDetailActivity.lifecycle, mViewModel.mFragments)
+        }
 
+    }
 
     /**
      * DataBinding事件处理
@@ -194,7 +247,7 @@ class PartTimeJobDetailActivity : YYBaseVDBActivity<PartTimeJobDetailViewModel,
 
         //点击Tab下一个
         fun tabNext() {
-            mBinding.viewPager.setCurrentItem(mCurPagePosition + 1, true)
+            mRootBinding?.viewPager?.setCurrentItem(mCurPagePosition + 1, true)
         }
 
         //去相册页面

+ 9 - 5
cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/fragment/PartJobDetailFaqFragment.kt

@@ -1,9 +1,10 @@
 package com.hongyegroup.cpt_parttime.ui.fragment
 
 import android.os.Bundle
-import com.guadou.cs_cptservices.base.fragment.YYBaseVDBLazyLoadingFragment
+import com.guadou.cs_cptservices.base.fragment.YYBaseVDBLoadingFragment
 import com.guadou.cs_cptservices.interfaces.IFragmentRefresh
 import com.guadou.lib_baselib.bean.DataBindingConfig
+import com.guadou.lib_baselib.ext.checkEmpty
 import com.guadou.lib_baselib.ext.vertical
 import com.hongyegroup.cpt_parttime.R
 import com.hongyegroup.cpt_parttime.databinding.FragmentParttimeJobDetailFaqBinding
@@ -12,10 +13,9 @@ import com.hongyegroup.cpt_parttime.mvvm.PartJobDetailFaqViewModel
 /**
  * 工作详情 子页面 展示推荐的工作
  */
-class PartJobDetailFaqFragment : YYBaseVDBLazyLoadingFragment<PartJobDetailFaqViewModel, FragmentParttimeJobDetailFaqBinding>(),
+class PartJobDetailFaqFragment : YYBaseVDBLoadingFragment<PartJobDetailFaqViewModel, FragmentParttimeJobDetailFaqBinding>(),
     IFragmentRefresh {
 
-
     override fun getDataBindingConfig(): DataBindingConfig {
         return DataBindingConfig(R.layout.fragment_parttime_job_detail_faq)
     }
@@ -24,8 +24,12 @@ class PartJobDetailFaqFragment : YYBaseVDBLazyLoadingFragment<PartJobDetailFaqVi
         initRV()
     }
 
-    override fun onLazyInitData() {
-        mViewModel.requestJobFaqs()
+    override fun onResume() {
+        super.onResume()
+
+        if (mViewModel.mDatas.checkEmpty()){
+            mViewModel.requestJobFaqs()
+        }
     }
 
     private fun initRV() {

+ 12 - 5
cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/fragment/PartJobDetailFragment.kt

@@ -1,10 +1,11 @@
 package com.hongyegroup.cpt_parttime.ui.fragment
 
 import android.os.Bundle
-import com.guadou.cs_cptservices.base.fragment.YYBaseVDBFragment
+import com.guadou.cs_cptservices.base.fragment.YYBaseVDBLoadingFragment
 import com.guadou.cs_cptservices.interfaces.IFragmentRefresh
 import com.guadou.lib_baselib.bean.DataBindingConfig
 import com.guadou.lib_baselib.engine.toast
+import com.guadou.lib_baselib.ext.checkEmpty
 import com.guadou.lib_baselib.ext.vertical
 import com.hongyegroup.cpt_parttime.BR
 import com.hongyegroup.cpt_parttime.R
@@ -15,7 +16,7 @@ import com.hongyegroup.cpt_parttime.ui.activity.PartTimeJobDetailActivity
 /**
  * 工作详情 子页面 展示工作详细信息
  */
-class PartJobDetailFragment : YYBaseVDBFragment<PartJobDetailChildViewModel, FragmentParttimeJobDetailBinding>(), IFragmentRefresh {
+class PartJobDetailFragment : YYBaseVDBLoadingFragment<PartJobDetailChildViewModel, FragmentParttimeJobDetailBinding>(), IFragmentRefresh {
 
     private val mClickProxy by lazy { ClickProxy() }
 
@@ -25,14 +26,20 @@ class PartJobDetailFragment : YYBaseVDBFragment<PartJobDetailChildViewModel, Fra
     }
 
     override fun init(savedInstanceState: Bundle?) {
-
         initRV()
-        initData()
         initListener()
     }
 
+    override fun onResume() {
+        super.onResume()
+        initData()
+    }
+
     private fun initData() {
-        mViewModel.getRecommendJobs()
+        if (mViewModel.mDatas.checkEmpty()) {
+            mViewModel.getRecommendJobs()
+        }
+
     }
 
     private fun initRV() {

+ 9 - 5
cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/fragment/PartJobDetailGroomingFragment.kt

@@ -1,9 +1,10 @@
 package com.hongyegroup.cpt_parttime.ui.fragment
 
 import android.os.Bundle
-import com.guadou.cs_cptservices.base.fragment.YYBaseVDBLazyLoadingFragment
+import com.guadou.cs_cptservices.base.fragment.YYBaseVDBLoadingFragment
 import com.guadou.cs_cptservices.interfaces.IFragmentRefresh
 import com.guadou.lib_baselib.bean.DataBindingConfig
+import com.guadou.lib_baselib.ext.checkEmpty
 import com.guadou.lib_baselib.ext.vertical
 import com.hongyegroup.cpt_parttime.R
 import com.hongyegroup.cpt_parttime.databinding.FragmentParttimeJobDetailGroomingBinding
@@ -12,8 +13,7 @@ import com.hongyegroup.cpt_parttime.mvvm.PartJobDetailGroomingViewModel
 /**
  * 工作详情 子页面 展示推荐的工作
  */
-class PartJobDetailGroomingFragment :
-    YYBaseVDBLazyLoadingFragment<PartJobDetailGroomingViewModel, FragmentParttimeJobDetailGroomingBinding>(), IFragmentRefresh {
+class PartJobDetailGroomingFragment : YYBaseVDBLoadingFragment<PartJobDetailGroomingViewModel, FragmentParttimeJobDetailGroomingBinding>(), IFragmentRefresh {
 
     override fun getDataBindingConfig(): DataBindingConfig {
         return DataBindingConfig(R.layout.fragment_parttime_job_detail_grooming)
@@ -24,8 +24,12 @@ class PartJobDetailGroomingFragment :
         initRV()
     }
 
-    override fun onLazyInitData() {
-        mViewModel.getGroomingData()
+    override fun onResume() {
+        super.onResume()
+
+        if (mViewModel.mDatas.checkEmpty()){
+            mViewModel.getGroomingData()
+        }
     }
 
     private fun initRV() {

+ 20 - 5
cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/fragment/PartJobDetailPaymentFragment.kt

@@ -4,7 +4,7 @@ import android.os.Bundle
 import android.text.TextUtils
 import android.view.ViewGroup
 import android.widget.FrameLayout
-import com.guadou.cs_cptservices.base.fragment.YYBaseVDBFragment
+import com.guadou.cs_cptservices.base.fragment.YYBaseVDBLoadingFragment
 import com.guadou.cs_cptservices.interfaces.IFragmentRefresh
 import com.guadou.lib_baselib.bean.DataBindingConfig
 import com.guadou.lib_baselib.view.MyWebView
@@ -16,7 +16,7 @@ import com.hongyegroup.cpt_parttime.mvvm.PartJobDetailPaymentViewModel
 /**
  * 工作详情 子页面 展示推荐的工作
  */
-class PartJobDetailPaymentFragment : YYBaseVDBFragment<PartJobDetailPaymentViewModel, FragmentParttimeJobDetailPaymentBinding>(),
+class PartJobDetailPaymentFragment : YYBaseVDBLoadingFragment<PartJobDetailPaymentViewModel, FragmentParttimeJobDetailPaymentBinding>(),
     IFragmentRefresh {
 
     private val mWebUrl = "http://yyjobs-api-dev.guabean.com/payment_process/payment_process_life.html" //网页加载的地址
@@ -27,11 +27,19 @@ class PartJobDetailPaymentFragment : YYBaseVDBFragment<PartJobDetailPaymentViewM
     }
 
     override fun init(savedInstanceState: Bundle?) {
+        //在显示出来的时候再加载WebView
+    }
+
+    override fun onResume() {
+        super.onResume()
 
-        initWebview()
+        if (mBinding.flPaymentProcess.childCount < 1) {
+            initWebview()
+        }
     }
 
     private fun initWebview() {
+        showStateLoading()
 
         //先移除所有View
         mBinding.flPaymentProcess.removeAllViews()
@@ -42,9 +50,16 @@ class PartJobDetailPaymentFragment : YYBaseVDBFragment<PartJobDetailPaymentViewM
 
         mWebView.setOnWebChangeListener(object : MyWebView.OnWebChangeListener {
             override fun titleChange(title: String?) {}
-            override fun progressChange(progress: Int) {}
+            override fun progressChange(progress: Int) {
+                if (progress > 90) {
+                    showStateSuccess()
+                }
+            }
+
             override fun onInnerLinkChecked() {}
-            override fun onWebLoadError() {}
+            override fun onWebLoadError() {
+                showStateError("无法加载此页面!")
+            }
         })
 
         if (!TextUtils.isEmpty(mWebUrl)) {

+ 10 - 4
cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/fragment/PartJobDetailProcessFragment.kt

@@ -1,9 +1,10 @@
 package com.hongyegroup.cpt_parttime.ui.fragment
 
 import android.os.Bundle
-import com.guadou.cs_cptservices.base.fragment.YYBaseVDBLazyLoadingFragment
+import com.guadou.cs_cptservices.base.fragment.YYBaseVDBLoadingFragment
 import com.guadou.cs_cptservices.interfaces.IFragmentRefresh
 import com.guadou.lib_baselib.bean.DataBindingConfig
+import com.guadou.lib_baselib.ext.checkEmpty
 import com.guadou.lib_baselib.ext.vertical
 import com.hongyegroup.cpt_parttime.R
 import com.hongyegroup.cpt_parttime.databinding.FragmentParttimeJobDetailProcessBinding
@@ -13,7 +14,7 @@ import com.hongyegroup.cpt_parttime.mvvm.PartJobDetailProcessViewModel
  * 工作详情 子页面 How To Report
  * 工作流程
  */
-class PartJobDetailProcessFragment : YYBaseVDBLazyLoadingFragment<PartJobDetailProcessViewModel, FragmentParttimeJobDetailProcessBinding>(),
+class PartJobDetailProcessFragment : YYBaseVDBLoadingFragment<PartJobDetailProcessViewModel, FragmentParttimeJobDetailProcessBinding>(),
     IFragmentRefresh {
 
     override fun getDataBindingConfig(): DataBindingConfig {
@@ -24,10 +25,15 @@ class PartJobDetailProcessFragment : YYBaseVDBLazyLoadingFragment<PartJobDetailP
         initRV()
     }
 
-    override fun onLazyInitData() {
-       mViewModel.getHowReportData()
+    override fun onResume() {
+        super.onResume()
+
+        if (mViewModel.mDatas.checkEmpty()){
+            mViewModel.getHowReportData()
+        }
     }
 
+
     private fun initRV() {
         mBinding.rvHowReport.vertical().apply {
             adapter = mViewModel.mAdapter

+ 13 - 5
cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/fragment/PartJobDetailSlotsFragment.kt

@@ -1,9 +1,10 @@
 package com.hongyegroup.cpt_parttime.ui.fragment
 
 import android.os.Bundle
-import com.guadou.cs_cptservices.base.fragment.YYBaseVDBLazyLoadingFragment
+import com.guadou.cs_cptservices.base.fragment.YYBaseVDBLoadingFragment
 import com.guadou.cs_cptservices.interfaces.IFragmentRefresh
 import com.guadou.lib_baselib.bean.DataBindingConfig
+import com.guadou.lib_baselib.ext.checkEmpty
 import com.guadou.lib_baselib.ext.vertical
 import com.hongyegroup.cpt_parttime.R
 import com.hongyegroup.cpt_parttime.databinding.FragmentParttimeJobDetailSlotsBinding
@@ -12,7 +13,7 @@ import com.hongyegroup.cpt_parttime.mvvm.PartJobDetailSlotsViewModel
 /**
  * 工作详情 子页面 展示推荐的工作
  */
-class PartJobDetailSlotsFragment : YYBaseVDBLazyLoadingFragment<PartJobDetailSlotsViewModel, FragmentParttimeJobDetailSlotsBinding>(),
+class PartJobDetailSlotsFragment : YYBaseVDBLoadingFragment<PartJobDetailSlotsViewModel, FragmentParttimeJobDetailSlotsBinding>(),
     IFragmentRefresh {
 
     override fun getDataBindingConfig(): DataBindingConfig {
@@ -20,15 +21,22 @@ class PartJobDetailSlotsFragment : YYBaseVDBLazyLoadingFragment<PartJobDetailSlo
     }
 
     override fun init(savedInstanceState: Bundle?) {
-
         initRV()
+    }
+
+    override fun onResume() {
+        super.onResume()
 
+        initData()
     }
 
-    override fun onLazyInitData() {
-        mViewModel.requestJobSlots()
+    private fun initData() {
+        if (mViewModel.mDatas.checkEmpty()){
+            mViewModel.requestJobSlots()
+        }
     }
 
+
     private fun initRV() {
         mBinding.rvSlots.vertical().apply {
             adapter = mViewModel.mAdapter

+ 0 - 49
cpt_parttime/src/main/java/com/hongyegroup/cpt_parttime/ui/main/PartTimeProfileFragment.kt

@@ -3,7 +3,6 @@ package com.hongyegroup.cpt_parttime.ui.main
 import android.os.Bundle
 import android.view.View
 import androidx.databinding.DataBindingUtil
-import androidx.lifecycle.lifecycleScope
 import com.guadou.cs_cptservices.base.fragment.YYBaseVDBLoadingFragment
 import com.guadou.cs_cptservices.interfaces.IFragmentRefresh
 import com.guadou.lib_baselib.bean.DataBindingConfig
@@ -22,11 +21,6 @@ import com.hongyegroup.cpt_parttime.widget.UserUrgentAlertPopup
 import com.lxj.xpopup.XPopup
 import com.scwang.smart.refresh.layout.api.RefreshLayout
 import com.scwang.smart.refresh.layout.listener.OnRefreshListener
-import kotlinx.coroutines.Dispatchers
-import kotlinx.coroutines.async
-import kotlinx.coroutines.delay
-import kotlinx.coroutines.launch
-
 
 /**
  * 兼职个人信息页面
@@ -55,50 +49,9 @@ class PartTimeProfileFragment : YYBaseVDBLoadingFragment<PartJobProfileViewModel
 
     override fun init(savedInstanceState: Bundle?) {
         initData()
-//        inflateRootAndData()
         initListener()
     }
 
-    //异步加载真正的布局
-    private fun inflateRootAndData() {
-
-        showStateLoading()
-
-        lifecycleScope.launch {
-
-            val start = System.currentTimeMillis()
-
-            val rootView = async(Dispatchers.IO) {
-                YYLogUtils.w("开始异步加载真正的跟视图")
-                val view = layoutInflater.inflate(R.layout.include_pensonal_turn_up_rate, null)
-
-                val end = System.currentTimeMillis()
-
-                YYLogUtils.w("加载真正布局耗时:" + (end - start))
-
-                view
-            }
-
-            val request = async {
-                YYLogUtils.w("开始请求用户详情数据")
-                delay(1500)
-                true
-            }
-
-            if (request.await() && rootView.await() != null) {
-                val start1 = System.currentTimeMillis()
-                mBinding.llRootContainer.addView(rootView.await(), 0)
-                val end1 = System.currentTimeMillis()
-                YYLogUtils.w("添加布局耗时:" + (end1 - start1))
-                showStateSuccess()
-
-                //展示数据
-            }
-
-        }
-    }
-
-
     private fun initData() {
         showStateLoading()
 
@@ -128,8 +81,6 @@ class PartTimeProfileFragment : YYBaseVDBLoadingFragment<PartJobProfileViewModel
         }
     }
 
-
-
     override fun onGoadingRetry() {
 
     }

BIN
cpt_parttime/src/main/res/drawable-xxhdpi/job_detail_cancel_job_tips_icon.webp


BIN
cpt_parttime/src/main/res/drawable-xxhdpi/part_time_me_qna.webp


BIN
cpt_parttime/src/main/res/drawable-xxhdpi/redpacket_web_delete_rules.webp


+ 45 - 232
cpt_parttime/src/main/res/layout/activity_parttime_job_detail.xml

@@ -25,246 +25,59 @@
         android:background="@color/white"
         android:orientation="vertical">
 
-        <androidx.constraintlayout.motion.widget.MotionLayout
+        <com.guadou.lib_baselib.view.titlebar.EasyTitleBar
             android:layout_width="match_parent"
-            android:layout_height="0dp"
-            android:layout_weight="1"
-            app:layoutDescription="@xml/scene_part_job_detail">
-
-            <!--   顶部的图片    -->
-            <androidx.constraintlayout.widget.ConstraintLayout
-                android:id="@+id/cl_top_img_box"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content">
-
-                <ImageView
-                    android:id="@+id/iv_job_image"
-                    android:layout_width="0dp"
-                    android:layout_height="0dp"
-                    android:background="@color/gray"
-                    android:scaleType="centerCrop"
-                    app:layout_constraintDimensionRatio="W,219:375"
-                    app:layout_constraintLeft_toLeftOf="parent"
-                    app:layout_constraintRight_toRightOf="parent"
-                    app:layout_constraintTop_toTopOf="parent" />
-
-            </androidx.constraintlayout.widget.ConstraintLayout>
-
-            <!-- 相册布局 -->
-            <LinearLayout
-                android:id="@+id/ll_gallery_box"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginRight="@dimen/d_15dp"
-                android:layout_marginBottom="@dimen/d_10dp"
-                android:background="@drawable/shape_job_detail_gallery_box"
-                android:gravity="center"
-                android:orientation="horizontal"
-                app:layout_constraintBottom_toBottomOf="@id/cl_top_img_box"
-                app:layout_constraintRight_toRightOf="@id/cl_top_img_box"
-                binding:clicks="@{click.gotoGalleryPage}">
-
-                <TextView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:drawableLeft="@drawable/job_detail_gallery_icon"
-                    android:drawablePadding="@dimen/d_7dp"
-                    android:paddingLeft="@dimen/d_10dp"
-                    android:paddingTop="@dimen/d_6dp"
-                    android:paddingRight="@dimen/d_10dp"
-                    android:paddingBottom="@dimen/d_6dp"
-                    android:text="相册"
-                    android:textColor="@color/white"
-                    android:textSize="@dimen/d_14sp" />
-
-            </LinearLayout>
+            android:layout_height="wrap_content"
+            app:Easy_title="香格里拉酒店" />
 
-            <!--   固定的状态栏 用于定位     -->
-            <com.guadou.lib_baselib.view.titlebar.StatusbarGrayView
-                android:id="@+id/status_view"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content" />
+        <FrameLayout
+            android:layout_width="match_parent"
+            android:layout_height="match_parent">
 
-            <!--   返回栏    -->
-            <FrameLayout
-                android:id="@+id/back_layout"
+            <com.guadou.cs_cptservices.widget.AsyncViewStub
+                android:id="@+id/view_stub_root"
                 android:layout_width="match_parent"
-                android:layout_height="@dimen/d_40dp"
-                android:background="@color/transparent"
-                tools:layout_editor_absoluteY="24dp">
-
-                <ImageView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_gravity="center_vertical"
-                    android:layout_marginLeft="@dimen/d_14dp"
-                    android:layout_marginTop="@dimen/d_2dp"
-                    android:src="@mipmap/back_white_icon" />
-
-                <ImageView
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_gravity="center_vertical|right"
-                    android:layout_marginRight="@dimen/d_15dp"
-                    android:src="@drawable/part_detail_job_collect_icon" />
-
-            </FrameLayout>
-
-            <!--  工作信息等TextView    -->
-            <com.guadou.lib_baselib.font_text_view.TextViewBold
-                android:id="@+id/tv_job_title"
-                android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                android:layout_marginLeft="@dimen/d_15dp"
-                android:layout_marginTop="@dimen/d_5dp"
-                android:ellipsize="end"
-                android:gravity="center"
-                android:lines="1"
-                android:singleLine="true"
-                android:text="斗鱼主播招聘"
-                android:textColor="@color/white"
-                android:textSize="@dimen/d_20sp"
-                app:layout_constraintLeft_toLeftOf="parent"
-                app:layout_constraintTop_toBottomOf="@id/back_layout" />
-
+                app:layout="@layout/include_part_time_job_detail_activity" />
+
+            <!--  IM图标  -->
+            <ImageView
+                android:id="@+id/iv_yy_chat"
+                android:layout_width="@dimen/d_90dp"
+                android:layout_height="@dimen/d_90dp"
+                android:layout_gravity="bottom|right"
+                android:layout_marginRight="@dimen/d_10dp"
+                android:layout_marginBottom="@dimen/d_80dp"
+                android:src="@drawable/jump_chat_icon"
+                android:visibility="visible"
+                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintRight_toRightOf="parent"
+                app:layout_constraintTop_toTopOf="parent" />
+
+            <!--  取消工作等之类的工作异常状态显示  -->
             <com.guadou.lib_baselib.font_text_view.TextViewMedium
-                android:id="@+id/tv_job_employer"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginLeft="@dimen/d_15dp"
-                android:layout_marginTop="@dimen/d_10dp"
-                android:text="武汉斗鱼网络科技有限公司"
-                android:textColor="@color/white"
-                android:textSize="@dimen/d_14sp"
-                app:layout_constraintLeft_toLeftOf="parent"
-                app:layout_constraintTop_toBottomOf="@id/tv_job_title" />
-
-            <com.guadou.lib_baselib.font_text_view.TextViewBold
-                android:id="@+id/tv_job_hour"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginLeft="@dimen/d_15dp"
-                android:layout_marginTop="@dimen/d_10dp"
-                android:text="100元/小时"
-                android:textColor="@color/text_orange"
-                android:textSize="@dimen/d_16sp"
-                app:layout_constraintLeft_toLeftOf="parent"
-                app:layout_constraintTop_toBottomOf="@id/tv_job_employer" />
-
-            <com.guadou.lib_baselib.font_text_view.TextViewMedium
-                android:id="@+id/tv_job_industry"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginLeft="@dimen/d_15dp"
-                android:layout_marginTop="@dimen/d_8dp"
-                android:text="江岸 | 主播"
-                android:textColor="@color/white"
-                android:textSize="@dimen/d_14sp"
-                app:layout_constraintLeft_toLeftOf="parent"
-                app:layout_constraintTop_toBottomOf="@id/tv_job_hour" />
-
-            <!--   Tab布局     -->
-            <FrameLayout
-                android:id="@+id/tab_layout_box"
-                android:layout_width="match_parent"
-                android:layout_height="@dimen/d_40dp">
-
-                <com.google.android.material.tabs.TabLayout
-                    android:id="@+id/tabLayout"
-                    android:layout_width="match_parent"
-                    android:layout_height="@dimen/d_40dp"
-                    android:background="@color/white"
-                    app:tabIndicator="@drawable/shape_blue_bottom_line_3conner"
-                    app:tabIndicatorColor="@color/app_blue"
-                    app:tabIndicatorFullWidth="false"
-                    app:tabIndicatorHeight="@dimen/d_2dp"
-                    app:tabMode="scrollable"
-                    app:tabRippleColor="@color/transparent"
-                    app:tabSelectedTextColor="@color/app_blue"
-                    app:tabTextColor="@color/black" />
-
-                <ImageView
-                    android:id="@+id/iv_tab_right"
-                    android:layout_width="wrap_content"
-                    android:layout_height="match_parent"
-                    android:layout_gravity="right"
-                    android:src="@drawable/job_detail_tab_right_arrow"
-                    binding:clicks="@{click.tabNext}" />
-
-            </FrameLayout>
-
-            <!--   Fragment容器     -->
-            <androidx.viewpager.widget.ViewPager
-                android:id="@+id/view_pager"
+                android:id="@+id/tv_cancel_status_message"
                 android:layout_width="match_parent"
-                android:layout_height="0dp" />
-
-
-        </androidx.constraintlayout.motion.widget.MotionLayout>
-
-        <!-- 底部按钮组容器 -->
-        <FrameLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="vertical"
-            binding:isVisibleGone="@{click.isShowBottomBtn}">
-
-            <LinearLayout
+                android:layout_height="wrap_content"
+                android:background="@color/app_blue"
+                android:drawableLeft="@drawable/job_detail_cancel_job_tips_icon"
+                android:drawablePadding="@dimen/d_6dp"
+                android:gravity="center_vertical"
+                android:paddingLeft="@dimen/d_15dp"
+                android:paddingTop="@dimen/d_12dp"
+                android:paddingRight="@dimen/d_15dp"
+                android:paddingBottom="@dimen/d_12dp"
+                android:text="你已经取消过此工作,你无法再次申请工作"
+                android:textColor="#FFFFF001"
+                android:textSize="@dimen/d_15sp"
+                android:visibility="gone" />
+
+            <!-- 红包宝箱的WebView容器 -->
+            <ViewStub
+                android:id="@+id/view_stub_redpacket"
                 android:layout_width="match_parent"
-                android:layout_height="@dimen/d_45dp"
-                android:orientation="horizontal">
-
-                <LinearLayout
-                    android:layout_width="0dp"
-                    android:layout_height="match_parent"
-                    android:layout_weight="1"
-                    android:background="@color/part_share_btn_bg"
-                    android:gravity="center"
-                    android:orientation="horizontal"
-                    binding:clicks="@{click.shareJob}">
-
-                    <ImageView
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:src="@drawable/part_share_icon" />
-
-                    <com.guadou.lib_baselib.font_text_view.TextViewBold
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:layout_marginLeft="@dimen/d_10dp"
-                        android:gravity="center"
-                        android:text="分享"
-                        android:textColor="@color/profile_red"
-                        android:textSize="@dimen/d_17sp" />
-
-                </LinearLayout>
-
-                <LinearLayout
-                    android:layout_width="0dp"
-                    android:layout_height="match_parent"
-                    android:layout_weight="2"
-                    android:background="@color/profile_red"
-                    android:gravity="center"
-                    android:orientation="horizontal"
-                    binding:clicks="@{click.applyJob}">
-
-                    <ImageView
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:src="@drawable/part_apply_icon" />
-
-                    <com.guadou.lib_baselib.font_text_view.TextViewBold
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:layout_marginLeft="@dimen/d_10dp"
-                        android:gravity="center"
-                        android:text="立即申请"
-                        android:textColor="@color/white"
-                        android:textSize="@dimen/d_17sp" />
-
-                </LinearLayout>
-
-            </LinearLayout>
+                android:layout_height="match_parent"
+                android:layout="@layout/stub_job_detail_web" />
 
         </FrameLayout>
 

+ 2 - 38
cpt_parttime/src/main/res/layout/fragment_parttime_job_detail.xml

@@ -19,52 +19,18 @@
 
     </data>
 
-<!--    <com.scwang.smart.refresh.layout.SmartRefreshLayout-->
-<!--        android:id="@+id/refresh_layout"-->
-<!--        android:layout_width="match_parent"-->
-<!--        android:layout_height="match_parent"-->
-<!--        android:focusable="true"-->
-<!--        android:focusableInTouchMode="true"-->
-<!--        app:layout_behavior="@string/appbar_scrolling_view_behavior"-->
-<!--        app:srlEnablePreviewInEditMode="false"-->
-<!--        app:srlPrimaryColor="@color/white">-->
-
-<!--    <com.scwang.smart.refresh.header.ClassicsHeader-->
-<!--        android:layout_width="match_parent"-->
-<!--        android:layout_height="wrap_content" />-->
-
     <androidx.core.widget.NestedScrollView
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:scrollbars="vertical"
+        android:background="@color/page_bg"
         android:overScrollMode="never"
-        android:background="@color/page_bg">
+        android:scrollbars="vertical">
 
         <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:orientation="vertical">
 
-            <include
-                layout="@layout/include_parttime_job_detail_header_date_address"
-                binding:click="@{click}"
-                binding:viewModel="@{viewModel}" />
-
-            <include
-                layout="@layout/include_parttime_job_detail_header_requirement"
-                binding:viewModel="@{viewModel}" />
-
-            <include
-                layout="@layout/include_parttime_job_detail_header_work"
-                binding:viewModel="@{viewModel}" />
-
-            <include
-                layout="@layout/include_parttime_job_detail_header_qualification"
-                binding:viewModel="@{viewModel}" />
-
-            <include
-                layout="@layout/include_parttime_job_detail_header_interested"
-                binding:viewModel="@{viewModel}" />
 
             <androidx.recyclerview.widget.RecyclerView
                 android:id="@+id/rv_recommend"
@@ -77,8 +43,6 @@
 
     </androidx.core.widget.NestedScrollView>
 
-<!--    </com.scwang.smart.refresh.layout.SmartRefreshLayout>-->
-
 </layout>
 
 

+ 1 - 1
cpt_parttime/src/main/res/layout/fragment_parttime_job_detail_faq.xml

@@ -23,7 +23,7 @@
                 android:layout_width="match_parent"
                 android:layout_height="@dimen/d_10dp" />
 
-            <com.guadou.lib_baselib.font_text_view.TextViewBold
+            <com.guadou.lib_baselib.font_text_view.TextViewMedium
                 android:layout_width="match_parent"
                 android:layout_height="43dp"
                 android:background="@color/white"

+ 1 - 1
cpt_parttime/src/main/res/layout/fragment_parttime_job_detail_payment.xml

@@ -25,7 +25,7 @@
                 android:layout_width="match_parent"
                 android:layout_height="@dimen/d_10dp" />
 
-            <com.guadou.lib_baselib.font_text_view.TextViewBold
+            <com.guadou.lib_baselib.font_text_view.TextViewMedium
                 android:layout_width="match_parent"
                 android:layout_height="43dp"
                 android:background="@color/white"

+ 0 - 1
cpt_parttime/src/main/res/layout/fragment_parttime_job_detail_process.xml

@@ -7,7 +7,6 @@
 
     </data>
 
-
     <androidx.core.widget.NestedScrollView
         android:layout_width="match_parent"
         android:layout_height="wrap_content"

+ 1 - 1
cpt_parttime/src/main/res/layout/fragment_parttime_job_detail_slots.xml

@@ -23,7 +23,7 @@
                 android:layout_width="match_parent"
                 android:layout_height="@dimen/d_10dp" />
 
-            <com.guadou.lib_baselib.font_text_view.TextViewBold
+            <com.guadou.lib_baselib.font_text_view.TextViewMedium
                 android:layout_width="match_parent"
                 android:layout_height="43dp"
                 android:background="@color/white"

+ 225 - 23
cpt_parttime/src/main/res/layout/fragment_parttime_job_profile.xml

@@ -23,25 +23,41 @@
         android:background="@color/white"
         android:orientation="vertical">
 
-        <FrameLayout
-            android:id="@+id/ll_title_box"
+        <!--   Title的布局    -->
+        <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:background="@drawable/shape_gradient_proifle_title_top">
+            android:background="@drawable/shape_gradient_proifle_title_top"
+            android:orientation="vertical">
 
-            <com.guadou.lib_baselib.view.titlebar.EasyTitleBar
-                android:id="@+id/title_bar_parttime_job_profile"
+            <com.guadou.lib_baselib.view.titlebar.StatusbarGrayView
                 android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:textSize="@dimen/d_18sp"
-                app:Easy_backRes="@null"
-                app:Easy_hasStatusPadding="true"
-                app:Easy_lineState="gone"
-                app:Easy_title="我的"
-                app:Easy_titleBarBackground="@color/transparent"
-                app:Easy_titleColor="@color/white" />
+                android:layout_height="wrap_content" />
+
+            <FrameLayout
+                android:layout_width="match_parent"
+                android:layout_height="@dimen/d_46dp">
+
+                <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:layout_gravity="center"
+                    android:gravity="center"
+                    android:text="我的"
+                    android:textColor="@color/white"
+                    android:textSize="@dimen/d_18sp" />
+
+                <ImageView
+                    android:layout_width="@dimen/d_70dp"
+                    android:layout_height="28.5dp"
+                    android:layout_gravity="center_vertical|right"
+                    android:layout_marginTop="1.5dp"
+                    android:layout_marginRight="@dimen/d_12dp"
+                    android:src="@drawable/part_time_me_qna" />
 
-        </FrameLayout>
+            </FrameLayout>
+
+        </LinearLayout>
 
         <com.scwang.smart.refresh.layout.SmartRefreshLayout
             android:id="@+id/refresh_layout"
@@ -50,7 +66,7 @@
             android:focusable="true"
             android:focusableInTouchMode="true"
             app:srlAccentColor="#03A3FE"
-            app:srlEnablePreviewInEditMode="true"
+            app:srlEnablePreviewInEditMode="false"
             app:srlPrimaryColor="@color/app_blue">
 
             <com.scwang.smart.refresh.header.ClassicsHeader
@@ -71,22 +87,208 @@
                     android:background="#FAFDFF"
                     android:orientation="vertical">
 
+                    <!--    头部     -->
+                    <FrameLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content">
+
+                        <!--     弧形的渐变    -->
+                        <View
+                            android:layout_width="match_parent"
+                            android:layout_height="@dimen/d_120dp"
+                            android:background="@drawable/shape_gradient_proifle_title_bottom" />
+
+                        <!--   顶部的信息框展示   -->
+                        <LinearLayout
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginLeft="@dimen/d_5dp"
+                            android:layout_marginRight="@dimen/d_5dp"
+                            android:background="@drawable/profile_white_shadow_comm_bg"
+                            android:orientation="horizontal">
+
+                            <com.guadou.lib_baselib.view.CircleImageView
+                                android:id="@+id/image_view_profile_photo"
+                                android:layout_width="@dimen/d_70dp"
+                                android:layout_height="@dimen/d_70dp"
+                                android:layout_marginLeft="@dimen/d_20dp"
+                                android:layout_marginTop="@dimen/d_30dp"
+                                android:scaleType="centerCrop"
+                                android:src="@drawable/im_default_head"
+                                app:civ_border_color="@color/white"
+                                app:civ_border_overlay="true"
+                                app:civ_border_width="@dimen/d_1dp" />
+
+
+                            <LinearLayout
+                                android:layout_width="0dp"
+                                android:layout_height="wrap_content"
+                                android:layout_marginLeft="@dimen/d_18dp"
+                                android:layout_marginTop="@dimen/d_25dp"
+                                android:layout_marginRight="@dimen/d_15dp"
+                                android:layout_marginBottom="@dimen/d_26dp"
+                                android:layout_weight="1"
+                                android:orientation="vertical">
+
+                                <com.guadou.lib_baselib.font_text_view.TextViewBold
+                                    android:id="@+id/text_view_full_name"
+                                    android:layout_width="wrap_content"
+                                    android:layout_height="wrap_content"
+                                    android:textColor="@color/profile_black_28394a"
+                                    android:textSize="24sp"
+                                    android:text="阳顶天" />
+
+
+                                <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                                    android:id="@+id/text_view_email_address"
+                                    android:layout_width="match_parent"
+                                    android:layout_height="wrap_content"
+                                    android:layout_gravity="center_horizontal"
+                                    android:layout_marginTop="@dimen/d_2dp"
+                                    android:textColor="#8098B2"
+                                    android:textSize="13.8dp"
+                                    android:text="Fangyuan@hongyegroup.com" />
+
+                                <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                                    android:id="@+id/text_view_joined_date"
+                                    android:layout_width="match_parent"
+                                    android:layout_height="wrap_content"
+                                    android:layout_gravity="center_horizontal"
+                                    android:layout_marginTop="@dimen/d_2dp"
+                                    android:textColor="#8098B2"
+                                    android:textSize="13.8dp"
+                                    android:text="10,May 2020" />
+
+                                <LinearLayout
+                                    android:id="@+id/ll_profile_me_detail_point"
+                                    android:layout_width="wrap_content"
+                                    android:layout_height="wrap_content"
+                                    android:layout_marginTop="@dimen/d_6dp"
+                                    android:orientation="horizontal">
+
+                                    <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                                        android:id="@+id/text_view_profile_points"
+                                        android:layout_width="105dp"
+                                        android:layout_height="25dp"
+                                        android:background="@drawable/shape_5round_main_blue"
+                                        android:gravity="center"
+                                        android:text="- Credits"
+                                        android:textColor="@color/white"
+                                        android:textSize="13.5dp" />
+
+                                    <ImageView
+                                        android:id="@+id/button_help_points"
+                                        android:layout_width="wrap_content"
+                                        android:layout_height="wrap_content"
+                                        android:layout_gravity="center_vertical"
+                                        android:layout_marginLeft="@dimen/d_9dp"
+                                        android:contentDescription="-"
+                                        android:src="@drawable/help_blue" />
+
+                                </LinearLayout>
+
+                            </LinearLayout>
+
+                        </LinearLayout>
+
+                    </FrameLayout>
+
+                    <!--Status-->
+                    <LinearLayout
+                        android:id="@+id/ll_profile_me_detail_status"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="@dimen/d_5dp"
+                        android:layout_marginRight="@dimen/d_5dp"
+                        android:background="@drawable/profile_white_shadow_comm_bg"
+                        android:orientation="vertical"
+                        android:paddingTop="@dimen/d_20dp"
+                        android:paddingBottom="@dimen/d_20dp"
+                        binding:clicks="@{click.editProfileInfo}">
+
+                        <LinearLayout
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:gravity="center_vertical"
+                            android:orientation="horizontal">
+
+                            <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:layout_marginLeft="@dimen/d_25dp"
+                                android:layout_marginRight="@dimen/d_10dp"
+                                android:drawableLeft="@drawable/iv_profile_status_icon"
+                                android:drawablePadding="@dimen/d_12dp"
+                                android:text="您的账户状态:"
+                                android:textColor="@color/profile_black_8098b2"
+                                android:textSize="@dimen/d_14sp"
+                                tools:text="You account status: " />
+
+                            <TextView
+                                android:id="@+id/tv_profile_me_detail_user_status"
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:text="-"
+                                android:textColor="@color/green"
+                                android:textSize="@dimen/d_14sp" />
+
+                        </LinearLayout>
+
 
+                        <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                            android:id="@+id/text_view_additional_info_reject"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginLeft="@dimen/d_23dp"
+                            android:layout_marginTop="@dimen/d_10dp"
+                            android:layout_marginRight="@dimen/d_23dp"
+                            android:background="@drawable/shape_gray_3round"
+                            android:paddingLeft="33dp"
+                            android:paddingTop="@dimen/d_10dp"
+                            android:paddingRight="33dp"
+                            android:paddingBottom="@dimen/d_10dp"
+                            android:text="原因"
+                            android:textColor="#8098B2"
+                            android:textSize="@dimen/d_14sp"
+                            android:visibility="visible" />
 
+                        <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                            android:id="@+id/text_view_additional_info"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginLeft="@dimen/d_25dp"
+                            android:layout_marginTop="@dimen/d_10dp"
+                            android:layout_marginRight="@dimen/d_10dp"
+                            android:drawableLeft="@drawable/iv_profile_additional_info_icon"
+                            android:drawablePadding="@dimen/d_12dp"
+                            android:text="- >"
+                            android:textColor="#FFC000"
+                            android:textSize="@dimen/d_14sp" />
 
-                    <!--  个人信息的到达率等懒加载信息   -->
-<!--                    <ViewStub-->
-<!--                        android:id="@+id/view_stub_rating"-->
-<!--                        android:layout_width="match_parent"-->
-<!--                        android:layout_height="match_parent"-->
-<!--                        android:layout="@layout/include_pensonal_turn_up_rate" />-->
+                        <com.guadou.lib_baselib.font_text_view.TextViewMedium
+                            android:id="@+id/btn_urgent"
+                            android:layout_width="match_parent"
+                            android:layout_height="@dimen/d_35dp"
+                            android:layout_marginLeft="@dimen/d_23dp"
+                            android:layout_marginTop="@dimen/d_15dp"
+                            android:layout_marginRight="@dimen/d_23dp"
+                            android:layout_marginBottom="@dimen/d_10dp"
+                            android:background="@drawable/selector_app_blue_button_round5_bg"
+                            android:gravity="center"
+                            android:text="加急"
+                            android:textColor="@color/white"
+                            android:textSize="@dimen/d_15sp"
+                            android:visibility="visible"
+                            binding:clicks="@{click.userUrgent}" />
 
+                    </LinearLayout>
 
+                    <!--  异步加载-其他的布局  -->
                     <com.guadou.cs_cptservices.widget.AsyncViewStub
                         android:id="@+id/view_stub_root"
                         android:layout_width="match_parent"
-                        app:layout="@layout/include_pensonal_turn_up_rate"
-                        android:layout_height="wrap_content"/>
+                        android:layout_height="wrap_content"
+                        app:layout="@layout/include_pensonal_turn_up_rate" />
 
                     <View
                         android:layout_width="1dp"

+ 249 - 0
cpt_parttime/src/main/res/layout/include_part_time_job_detail_activity.xml

@@ -0,0 +1,249 @@
+<?xml version="1.0" encoding="utf-8"?>
+<layout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:binding="http://schemas.android.com/apk/res-auto"
+    xmlns:tools="http://schemas.android.com/tools"
+    tools:ignore="RtlHardcoded">
+
+    <data>
+
+        <variable
+            name="viewModel"
+            type="com.hongyegroup.cpt_parttime.mvvm.PartTimeJobDetailViewModel" />
+
+        <variable
+            name="click"
+            type="com.hongyegroup.cpt_parttime.ui.activity.PartTimeJobDetailActivity.ClickProxy" />
+
+        <import type="android.text.TextUtils" />
+
+    </data>
+
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="vertical">
+
+        <com.scwang.smart.refresh.layout.SmartRefreshLayout
+            android:id="@+id/refresh_layout"
+            android:layout_width="match_parent"
+            android:layout_height="0dp"
+            android:layout_weight="1"
+            android:focusable="true"
+            android:focusableInTouchMode="true"
+            app:srlEnablePreviewInEditMode="false"
+            app:srlPrimaryColor="@color/white">
+
+            <com.scwang.smart.refresh.header.ClassicsHeader
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content" />
+
+            <androidx.coordinatorlayout.widget.CoordinatorLayout
+                android:layout_width="match_parent"
+                android:layout_height="match_parent">
+
+                <com.google.android.material.appbar.AppBarLayout
+                    android:id="@+id/app_bar_layout"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:background="@color/white"
+                    android:orientation="vertical"
+                    app:elevation="0dp">
+
+                    <!--   顶部的图片    -->
+                    <androidx.constraintlayout.widget.ConstraintLayout
+                        android:id="@+id/cl_img_box"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        app:layout_scrollFlags="scroll|snap">
+
+                        <ImageView
+                            android:id="@+id/iv_job_photo_cover"
+                            android:layout_width="0dp"
+                            android:layout_height="0dp"
+                            android:scaleType="centerCrop"
+                            app:layout_constraintDimensionRatio="W,437:750"
+                            app:layout_constraintLeft_toLeftOf="parent"
+                            app:layout_constraintRight_toRightOf="parent"
+                            app:layout_constraintTop_toTopOf="parent" />
+
+                        <ProgressBar
+                            android:id="@+id/progress_bar_job_img"
+                            android:layout_width="25dp"
+                            android:layout_height="25dp"
+                            android:layout_gravity="center"
+                            android:indeterminate="true"
+                            android:indeterminateTint="@color/colorAccent"
+                            android:indeterminateTintMode="src_atop"
+                            app:layout_constraintBottom_toBottomOf="parent"
+                            app:layout_constraintLeft_toLeftOf="parent"
+                            app:layout_constraintRight_toRightOf="parent"
+                            app:layout_constraintTop_toTopOf="parent" />
+
+                        <com.youth.banner.Banner
+                            android:id="@+id/banner_employer_imgs"
+                            android:layout_width="match_parent"
+                            android:layout_height="0dp"
+                            android:background="@drawable/placeholder_img_banner"
+
+                            app:banner_auto_loop="false"
+                            app:banner_indicator_height="@dimen/d_5dp"
+                            app:banner_indicator_marginBottom="@dimen/d_15dp"
+                            app:banner_indicator_normal_color="#66ffffff"
+                            app:banner_indicator_normal_width="@dimen/d_4dp"
+                            app:banner_indicator_selected_color="#ffffff"
+                            app:banner_indicator_selected_width="@dimen/d_6dp"
+                            app:banner_indicator_space="@dimen/d_4dp"
+                            app:banner_infinite_loop="true"
+
+                            app:layout_constraintDimensionRatio="W,437:750"
+                            app:layout_constraintLeft_toLeftOf="parent"
+                            app:layout_constraintRight_toRightOf="parent"
+                            app:layout_constraintTop_toTopOf="parent" />
+
+                        <LinearLayout
+                            android:layout_width="wrap_content"
+                            android:layout_height="wrap_content"
+                            android:layout_marginRight="@dimen/d_15dp"
+                            android:layout_marginBottom="@dimen/d_10dp"
+                            android:background="@drawable/shape_job_detail_gallery_box"
+                            android:gravity="center"
+                            android:orientation="horizontal"
+                            app:layout_constraintBottom_toBottomOf="parent"
+                            app:layout_constraintRight_toRightOf="parent"
+                            binding:clicks="@{click.gotoGalleryPage}">
+
+                            <TextView
+                                android:layout_width="wrap_content"
+                                android:layout_height="wrap_content"
+                                android:drawableLeft="@drawable/job_detail_gallery_icon"
+                                android:drawablePadding="@dimen/d_7dp"
+                                android:paddingLeft="@dimen/d_10dp"
+                                android:paddingTop="@dimen/d_6dp"
+                                android:paddingRight="@dimen/d_10dp"
+                                android:paddingBottom="@dimen/d_6dp"
+                                android:text="图册"
+                                android:textColor="@color/white"
+                                android:textSize="@dimen/d_14sp" />
+
+                        </LinearLayout>
+
+                    </androidx.constraintlayout.widget.ConstraintLayout>
+
+                    <!--   Tab布局   -->
+                    <FrameLayout
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content">
+
+                        <com.google.android.material.tabs.TabLayout
+                            android:id="@+id/tabLayout"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:background="@color/white"
+                            app:tabIndicator="@drawable/shape_blue_bottom_line_3conner"
+                            app:tabIndicatorColor="@color/app_blue"
+                            app:tabIndicatorFullWidth="false"
+                            app:tabIndicatorHeight="@dimen/d_2dp"
+                            app:tabMode="scrollable"
+                            app:tabRippleColor="@color/transparent"
+                            app:tabSelectedTextColor="@color/app_blue"
+                            app:tabTextColor="@color/black" />
+
+                        <ImageView
+                            android:id="@+id/iv_tab_right"
+                            android:layout_width="wrap_content"
+                            android:layout_height="match_parent"
+                            android:layout_gravity="right"
+                            android:src="@drawable/job_detail_tab_right_arrow"
+                            binding:clicks="@{click.tabNext}" />
+
+                    </FrameLayout>
+
+                    <View
+                        android:layout_width="match_parent"
+                        android:layout_height="@dimen/d_6dp"
+                        android:background="@color/page_bg" />
+
+                </com.google.android.material.appbar.AppBarLayout>
+
+                <androidx.viewpager2.widget.ViewPager2
+                    android:id="@+id/view_pager"
+                    android:layout_width="match_parent"
+                    android:layout_height="match_parent"
+                    app:layout_behavior="@string/appbar_scrolling_view_behavior" />
+
+            </androidx.coordinatorlayout.widget.CoordinatorLayout>
+
+        </com.scwang.smart.refresh.layout.SmartRefreshLayout>
+
+
+        <!-- 底部按钮组容器 -->
+        <FrameLayout
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/d_50dp"
+            android:orientation="vertical"
+            binding:isVisibleGone="@{click.isShowBottomBtn}">
+
+            <!-- 分享与申请/取消  -->
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:orientation="horizontal">
+
+                <LinearLayout
+                    android:layout_width="0dp"
+                    android:layout_height="match_parent"
+                    android:layout_weight="1"
+                    android:background="@color/part_share_btn_bg"
+                    android:gravity="center"
+                    android:orientation="horizontal"
+                    binding:clicks="@{click.shareJob}">
+
+                    <ImageView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:src="@drawable/part_share_icon" />
+
+                    <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="@dimen/d_10dp"
+                        android:gravity="center"
+                        android:text="分享"
+                        android:textColor="@color/profile_red"
+                        android:textSize="@dimen/d_18sp" />
+
+                </LinearLayout>
+
+                <LinearLayout
+                    android:layout_width="0dp"
+                    android:layout_height="match_parent"
+                    android:layout_weight="2"
+                    android:background="@color/profile_red"
+                    android:gravity="center"
+                    android:orientation="horizontal"
+                    binding:clicks="@{click.applyJob}">
+
+                    <ImageView
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:src="@drawable/part_apply_icon" />
+
+                    <com.guadou.lib_baselib.font_text_view.TextViewRegular
+                        android:layout_width="wrap_content"
+                        android:layout_height="wrap_content"
+                        android:layout_marginLeft="@dimen/d_10dp"
+                        android:gravity="center"
+                        android:text="立即申请"
+                        android:textColor="@color/white"
+                        android:textSize="@dimen/d_18sp" />
+
+                </LinearLayout>
+
+            </LinearLayout>
+
+        </FrameLayout>
+
+    </LinearLayout>
+</layout>

+ 0 - 110
cpt_parttime/src/main/res/layout/include_parttime_job_detail_header_date_address.xml

@@ -1,110 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:binding="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools"
-    tools:ignore="RtlHardcoded">
-
-    <data>
-
-        <variable
-            name="viewModel"
-            type="com.hongyegroup.cpt_parttime.mvvm.PartJobDetailChildViewModel" />
-
-        <variable
-            name="click"
-            type="com.hongyegroup.cpt_parttime.ui.fragment.PartJobDetailFragment.ClickProxy" />
-
-        <import type="android.text.TextUtils" />
-
-    </data>
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginLeft="@dimen/d_15dp"
-        android:layout_marginTop="@dimen/d_10dp"
-        android:layout_marginRight="@dimen/d_15dp"
-        android:background="@drawable/shape_white_round5"
-        android:orientation="vertical">
-
-        <com.guadou.lib_baselib.font_text_view.TextViewMedium
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="@dimen/d_15dp"
-            android:layout_marginTop="@dimen/d_20dp"
-            android:drawableLeft="@drawable/part_detail_job_date_icon"
-            android:drawablePadding="@dimen/d_9dp"
-            android:text="工作日期"
-            android:textColor="@color/gray_66"
-            android:textSize="@dimen/d_14sp" />
-
-
-        <com.guadou.lib_baselib.font_text_view.TextViewMedium
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="@dimen/d_40dp"
-            android:layout_marginTop="@dimen/d_9dp"
-            android:text="2022.1.10 06:00~23:00"
-            android:textColor="@color/black_33"
-            android:textSize="@dimen/d_14sp" />
-
-        <androidx.constraintlayout.widget.ConstraintLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_marginTop="@dimen/d_17dp"
-            android:layout_marginRight="@dimen/d_15dp"
-            android:layout_marginBottom="@dimen/d_20dp">
-
-            <com.guadou.lib_baselib.font_text_view.TextViewMedium
-                android:id="@+id/tv_address_text"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginLeft="@dimen/d_15dp"
-                android:drawableLeft="@drawable/part_detail_job_address_icon"
-                android:drawablePadding="@dimen/d_9dp"
-                android:text="工作地点"
-                android:textColor="@color/gray_66"
-                android:textSize="@dimen/d_14sp"
-                app:layout_constraintLeft_toLeftOf="parent"
-                app:layout_constraintTop_toTopOf="parent" />
-
-            <com.guadou.lib_baselib.font_text_view.TextViewMedium
-                android:id="@+id/tv_address"
-                android:layout_width="0dp"
-                android:layout_height="wrap_content"
-                android:layout_marginLeft="@dimen/d_40dp"
-                android:layout_marginTop="@dimen/d_9dp"
-                android:layout_marginRight="@dimen/d_8dp"
-                android:text="湖北省武汉市东西湖区武汉客厅"
-                android:textColor="@color/black_33"
-                android:textSize="@dimen/d_14sp"
-                app:layout_constraintLeft_toLeftOf="parent"
-                app:layout_constraintRight_toLeftOf="@id/tv_direction"
-                app:layout_constraintTop_toBottomOf="@id/tv_address_text" />
-
-            <com.guadou.lib_baselib.font_text_view.TextViewMedium
-                android:id="@+id/tv_direction"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:background="@drawable/shape_blue_round5"
-                android:drawableLeft="@drawable/part_detail_job_direction_icon"
-                android:drawablePadding="6dp"
-                android:paddingLeft="@dimen/d_10dp"
-                android:paddingTop="@dimen/d_8dp"
-                android:paddingRight="@dimen/d_10dp"
-                android:paddingBottom="@dimen/d_8dp"
-                android:text="导航"
-                android:textColor="@color/white"
-                android:textSize="@dimen/d_14sp"
-                app:layout_constraintBottom_toBottomOf="parent"
-                app:layout_constraintRight_toRightOf="parent"
-                app:layout_constraintTop_toTopOf="parent"
-                binding:clicks="@{click.doDirection}" />
-
-        </androidx.constraintlayout.widget.ConstraintLayout>
-
-
-    </LinearLayout>
-
-</layout>

+ 0 - 39
cpt_parttime/src/main/res/layout/include_parttime_job_detail_header_interested.xml

@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:binding="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools"
-    tools:ignore="RtlHardcoded">
-
-    <data>
-
-        <variable
-            name="viewModel"
-            type="com.hongyegroup.cpt_parttime.mvvm.PartJobDetailChildViewModel" />
-
-        <import type="android.text.TextUtils" />
-
-    </data>
-
-
-    <com.guadou.lib_baselib.font_text_view.TextViewBold
-        android:layout_width="match_parent"
-        android:layout_height="@dimen/d_45dp"
-        android:layout_marginLeft="@dimen/d_15dp"
-        android:layout_marginTop="@dimen/d_10dp"
-        android:layout_marginRight="@dimen/d_15dp"
-        android:background="@drawable/shape_white_round5"
-        android:gravity="center"
-        android:text="您可能感兴趣的工作"
-        android:textColor="@color/black_33"
-        android:textSize="@dimen/d_16sp" />
-
-</layout>
-
-
-
-
-
-
-
-

+ 0 - 75
cpt_parttime/src/main/res/layout/include_parttime_job_detail_header_qualification.xml

@@ -1,75 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:binding="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools"
-    tools:ignore="RtlHardcoded">
-
-    <data>
-
-        <variable
-            name="viewModel"
-            type="com.hongyegroup.cpt_parttime.mvvm.PartJobDetailChildViewModel" />
-
-        <import type="android.text.TextUtils" />
-
-    </data>
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginLeft="@dimen/d_15dp"
-        android:layout_marginTop="@dimen/d_10dp"
-        android:layout_marginRight="@dimen/d_15dp"
-        android:background="@drawable/shape_white_round5"
-        android:orientation="vertical">
-
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="@dimen/d_15dp"
-            android:layout_marginTop="@dimen/d_15dp"
-            android:layout_marginRight="@dimen/d_15dp"
-            android:gravity="center_vertical"
-            android:orientation="horizontal">
-
-            <ImageView
-                android:layout_width="@dimen/d_3dp"
-                android:layout_height="@dimen/d_21dp"
-                android:src="@drawable/shape_popup_location_blue" />
-
-            <com.guadou.lib_baselib.font_text_view.TextViewBold
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginLeft="@dimen/d_10dp"
-                android:text="任职资格"
-                android:textColor="@color/black_33"
-                android:textSize="@dimen/d_16sp" />
-
-        </LinearLayout>
-
-
-        <com.guadou.lib_baselib.font_text_view.TextViewMedium
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="@dimen/d_28dp"
-            android:layout_marginTop="@dimen/d_22dp"
-            android:layout_marginRight="@dimen/d_28dp"
-            android:lineHeight="@dimen/d_20dp"
-            android:text="1. 具有深厚的知识底蕴;
-            \n2. 普通话标准,获得相关资格证书;
-             \n3. 熟悉主持人工作的具体内容,能根据主持现场的气氛,即兴发挥,调动全场的气氛;
-             \n4. 具有传递信息和交流的观念,把听众放在平等的位置上;
-             \n5. 有强烈的社会责任感和较高的政治思想水准;
-             \n6. 具备一定的临场应变和即兴发挥能力;
-             \n7. 具有传递信息和交流的观念,把听众放在平等的位置上。"
-            android:textColor="@color/black"
-            android:textSize="@dimen/d_14sp" />
-
-        <View
-            android:layout_width="@dimen/d_1dp"
-            android:layout_height="@dimen/d_23dp" />
-
-    </LinearLayout>
-
-</layout>

+ 0 - 95
cpt_parttime/src/main/res/layout/include_parttime_job_detail_header_requirement.xml

@@ -1,95 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:binding="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools"
-    tools:ignore="RtlHardcoded">
-
-    <data>
-
-        <variable
-            name="viewModel"
-            type="com.hongyegroup.cpt_parttime.mvvm.PartJobDetailChildViewModel" />
-
-        <import type="android.text.TextUtils" />
-
-    </data>
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginLeft="@dimen/d_15dp"
-        android:layout_marginTop="@dimen/d_10dp"
-        android:layout_marginRight="@dimen/d_15dp"
-        android:background="@drawable/shape_white_round5"
-        android:orientation="vertical">
-
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="@dimen/d_15dp"
-            android:layout_marginTop="@dimen/d_15dp"
-            android:layout_marginRight="@dimen/d_15dp"
-            android:gravity="center_vertical"
-            android:orientation="horizontal">
-
-            <ImageView
-                android:layout_width="@dimen/d_3dp"
-                android:layout_height="@dimen/d_21dp"
-                android:src="@drawable/shape_popup_location_blue" />
-
-            <com.guadou.lib_baselib.font_text_view.TextViewBold
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginLeft="@dimen/d_10dp"
-                android:text="候选人要求"
-                android:textColor="@color/black_33"
-                android:textSize="@dimen/d_16sp" />
-
-        </LinearLayout>
-
-
-        <com.guadou.lib_baselib.font_text_view.TextViewMedium
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="@dimen/d_28dp"
-            android:layout_marginTop="@dimen/d_24dp"
-            android:layout_marginRight="@dimen/d_15dp"
-            android:drawableLeft="@drawable/part_detail_job_age_icon"
-            android:drawablePadding="@dimen/d_11dp"
-            android:text="15,16,17,18-20,21-30,31-40,41-50"
-            android:textColor="@color/black"
-            android:textSize="@dimen/d_15sp" />
-
-        <com.guadou.lib_baselib.font_text_view.TextViewMedium
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="@dimen/d_28dp"
-            android:layout_marginTop="@dimen/d_15dp"
-            android:layout_marginRight="@dimen/d_15dp"
-            android:drawableLeft="@drawable/part_detail_job_lang_icon"
-            android:drawablePadding="@dimen/d_11dp"
-            android:text="中文,英文"
-            android:textColor="@color/black"
-            android:textSize="@dimen/d_15sp" />
-
-
-        <com.guadou.lib_baselib.font_text_view.TextViewMedium
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="@dimen/d_28dp"
-            android:layout_marginTop="@dimen/d_15dp"
-            android:layout_marginRight="@dimen/d_15dp"
-            android:drawableLeft="@drawable/part_detail_job_gender_icon"
-            android:drawablePadding="@dimen/d_11dp"
-            android:text="女性"
-            android:textColor="@color/black"
-            android:textSize="@dimen/d_15sp" />
-
-        <View
-            android:layout_width="@dimen/d_1dp"
-            android:layout_height="@dimen/d_23dp" />
-
-    </LinearLayout>
-
-</layout>

+ 0 - 69
cpt_parttime/src/main/res/layout/include_parttime_job_detail_header_work.xml

@@ -1,69 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<layout xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    xmlns:binding="http://schemas.android.com/apk/res-auto"
-    xmlns:tools="http://schemas.android.com/tools"
-    tools:ignore="RtlHardcoded">
-
-    <data>
-
-        <variable
-            name="viewModel"
-            type="com.hongyegroup.cpt_parttime.mvvm.PartJobDetailChildViewModel" />
-
-        <import type="android.text.TextUtils" />
-
-    </data>
-
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_marginLeft="@dimen/d_15dp"
-        android:layout_marginTop="@dimen/d_10dp"
-        android:layout_marginRight="@dimen/d_15dp"
-        android:background="@drawable/shape_white_round5"
-        android:orientation="vertical">
-
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="@dimen/d_15dp"
-            android:layout_marginTop="@dimen/d_15dp"
-            android:layout_marginRight="@dimen/d_15dp"
-            android:gravity="center_vertical"
-            android:orientation="horizontal">
-
-            <ImageView
-                android:layout_width="@dimen/d_3dp"
-                android:layout_height="@dimen/d_21dp"
-                android:src="@drawable/shape_popup_location_blue" />
-
-            <com.guadou.lib_baselib.font_text_view.TextViewBold
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_marginLeft="@dimen/d_10dp"
-                android:text="工作要求"
-                android:textColor="@color/black_33"
-                android:textSize="@dimen/d_16sp" />
-
-        </LinearLayout>
-
-
-        <com.guadou.lib_baselib.font_text_view.TextViewMedium
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="@dimen/d_28dp"
-            android:layout_marginTop="@dimen/d_22dp"
-            android:layout_marginRight="@dimen/d_28dp"
-            android:lineHeight="@dimen/d_20dp"
-            android:text="1. 负责节目主持工作; \n2. 参与节目的制作; \n3. 负责与节目相关信息的采集、撰写、审查; \n4. 维持现场秩序,活跃现场气氛; \n5. 按照计划,控制节目进程; \n6. 调度现场出现的意外状况; \n7. 负责教学的其它工作。"
-            android:textColor="@color/black"
-            android:textSize="@dimen/d_14sp" />
-
-        <View
-            android:layout_width="@dimen/d_1dp"
-            android:layout_height="@dimen/d_23dp" />
-
-    </LinearLayout>
-
-</layout>

+ 13 - 212
cpt_parttime/src/main/res/layout/include_pensonal_turn_up_rate.xml

@@ -17,204 +17,6 @@
         android:layout_height="wrap_content"
         android:orientation="vertical">
 
-        <!--    头部     -->
-        <FrameLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content">
-
-            <!--     弧形的渐变    -->
-            <View
-                android:layout_width="match_parent"
-                android:layout_height="@dimen/d_120dp"
-                android:background="@drawable/shape_gradient_proifle_title_bottom" />
-
-            <!--   顶部的信息框展示   -->
-            <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginLeft="@dimen/d_5dp"
-                android:layout_marginRight="@dimen/d_5dp"
-                android:background="@drawable/profile_white_shadow_comm_bg"
-                android:orientation="horizontal">
-
-                <com.guadou.lib_baselib.view.CircleImageView
-                    android:id="@+id/image_view_profile_photo"
-                    android:layout_width="@dimen/d_70dp"
-                    android:layout_height="@dimen/d_70dp"
-                    android:layout_marginLeft="@dimen/d_20dp"
-                    android:layout_marginTop="@dimen/d_30dp"
-                    android:scaleType="centerCrop"
-                    android:src="@drawable/im_default_head"
-                    app:civ_border_color="@color/white"
-                    app:civ_border_overlay="true"
-                    app:civ_border_width="@dimen/d_1dp" />
-
-
-                <LinearLayout
-                    android:layout_width="0dp"
-                    android:layout_height="wrap_content"
-                    android:layout_marginLeft="@dimen/d_18dp"
-                    android:layout_marginTop="@dimen/d_25dp"
-                    android:layout_marginRight="@dimen/d_15dp"
-                    android:layout_marginBottom="@dimen/d_26dp"
-                    android:layout_weight="1"
-                    android:orientation="vertical">
-
-                    <com.guadou.lib_baselib.font_text_view.TextViewBold
-                        android:id="@+id/text_view_full_name"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:textColor="@color/profile_black_28394a"
-                        android:textSize="24sp"
-                        tools:text="Lisa Yang" />
-
-
-                    <com.guadou.lib_baselib.font_text_view.TextViewRegular
-                        android:id="@+id/text_view_email_address"
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        android:layout_gravity="center_horizontal"
-                        android:layout_marginTop="@dimen/d_2dp"
-                        android:textColor="#8098B2"
-                        android:textSize="13.8dp"
-                        tools:text="Fangyuan@hongyegroup.com" />
-
-                    <com.guadou.lib_baselib.font_text_view.TextViewRegular
-                        android:id="@+id/text_view_joined_date"
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        android:layout_gravity="center_horizontal"
-                        android:layout_marginTop="@dimen/d_2dp"
-                        android:textColor="#8098B2"
-                        android:textSize="13.8dp"
-                        tools:text="10,May 2020" />
-
-                    <LinearLayout
-                        android:id="@+id/ll_profile_me_detail_point"
-                        android:layout_width="wrap_content"
-                        android:layout_height="wrap_content"
-                        android:layout_marginTop="@dimen/d_6dp"
-                        android:orientation="horizontal">
-
-
-                        <com.guadou.lib_baselib.font_text_view.TextViewMedium
-                            android:id="@+id/text_view_profile_points"
-                            android:layout_width="105dp"
-                            android:layout_height="25dp"
-                            android:background="@drawable/shape_5round_main_blue"
-                            android:gravity="center"
-                            android:text="- Credits"
-                            android:textColor="@color/white"
-                            android:textSize="13.5dp" />
-
-                        <ImageView
-                            android:id="@+id/button_help_points"
-                            android:layout_width="wrap_content"
-                            android:layout_height="wrap_content"
-                            android:layout_gravity="center_vertical"
-                            android:layout_marginLeft="@dimen/d_9dp"
-                            android:contentDescription="-"
-                            android:src="@drawable/help_blue" />
-
-                    </LinearLayout>
-
-
-                </LinearLayout>
-
-            </LinearLayout>
-
-        </FrameLayout>
-
-        <!--Status-->
-        <LinearLayout
-            android:id="@+id/ll_profile_me_detail_status"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="@dimen/d_5dp"
-            android:layout_marginRight="@dimen/d_5dp"
-            android:background="@drawable/profile_white_shadow_comm_bg"
-            android:orientation="vertical"
-            android:paddingTop="@dimen/d_20dp"
-            android:paddingBottom="@dimen/d_20dp"
-            binding:clicks="@{click.editProfileInfo}">
-
-            <LinearLayout
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:gravity="center_vertical"
-                android:orientation="horizontal">
-
-                <com.guadou.lib_baselib.font_text_view.TextViewMedium
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_marginLeft="@dimen/d_25dp"
-                    android:layout_marginRight="@dimen/d_10dp"
-                    android:drawableLeft="@drawable/iv_profile_status_icon"
-                    android:drawablePadding="@dimen/d_12dp"
-                    android:text="您的账户状态:"
-                    android:textColor="@color/profile_black_8098b2"
-                    android:textSize="@dimen/d_14sp"
-                    tools:text="You account status: " />
-
-                <TextView
-                    android:id="@+id/tv_profile_me_detail_user_status"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:text="-"
-                    android:textColor="@color/green"
-                    android:textSize="@dimen/d_14sp" />
-
-            </LinearLayout>
-
-
-            <com.guadou.lib_baselib.font_text_view.TextViewMedium
-                android:id="@+id/text_view_additional_info_reject"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginLeft="@dimen/d_23dp"
-                android:layout_marginTop="@dimen/d_10dp"
-                android:layout_marginRight="@dimen/d_23dp"
-                android:background="@drawable/shape_gray_3round"
-                android:paddingLeft="33dp"
-                android:paddingTop="@dimen/d_10dp"
-                android:paddingRight="33dp"
-                android:paddingBottom="@dimen/d_10dp"
-                android:text="原因"
-                android:textColor="#8098B2"
-                android:textSize="@dimen/d_14sp"
-                android:visibility="visible" />
-
-            <com.guadou.lib_baselib.font_text_view.TextViewMedium
-                android:id="@+id/text_view_additional_info"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginLeft="@dimen/d_25dp"
-                android:layout_marginTop="@dimen/d_10dp"
-                android:layout_marginRight="@dimen/d_10dp"
-                android:drawableLeft="@drawable/iv_profile_additional_info_icon"
-                android:drawablePadding="@dimen/d_12dp"
-                android:text="- >"
-                android:textColor="#FFC000"
-                android:textSize="@dimen/d_14sp" />
-
-            <com.guadou.lib_baselib.font_text_view.TextViewMedium
-                android:id="@+id/btn_urgent"
-                android:layout_width="match_parent"
-                android:layout_height="@dimen/d_35dp"
-                android:layout_marginLeft="@dimen/d_23dp"
-                android:layout_marginTop="@dimen/d_15dp"
-                android:layout_marginRight="@dimen/d_23dp"
-                android:layout_marginBottom="@dimen/d_10dp"
-                android:background="@drawable/selector_app_blue_button_round5_bg"
-                android:gravity="center"
-                android:text="加急"
-                android:textColor="@color/white"
-                android:textSize="@dimen/d_15sp"
-                android:visibility="visible"
-                binding:clicks="@{click.userUrgent}" />
-
-        </LinearLayout>
-
         <!--    基本信息     -->
         <LinearLayout
             android:layout_width="match_parent"
@@ -243,10 +45,9 @@
                 android:layout_marginRight="@dimen/d_10dp"
                 android:drawableLeft="@drawable/profile_detail_name_icon"
                 android:drawablePadding="@dimen/d_12dp"
-                android:text="@string/null_data"
                 android:textColor="@color/profile_black_8098b2"
                 android:textSize="@dimen/d_14sp"
-                tools:text="Lisa Yang" />
+                android:text="阳顶天" />
 
             <com.guadou.lib_baselib.font_text_view.TextViewMedium
                 android:id="@+id/text_view_email_address_below"
@@ -257,7 +58,7 @@
                 android:layout_marginRight="@dimen/d_10dp"
                 android:drawableLeft="@drawable/profile_detail_email_icon"
                 android:drawablePadding="@dimen/d_12dp"
-                android:text="@string/null_data"
+                android:text="12345678@qq.com"
                 android:textColor="@color/profile_black_8098b2"
                 android:textSize="@dimen/d_14sp" />
 
@@ -270,7 +71,7 @@
                 android:layout_marginRight="@dimen/d_10dp"
                 android:drawableLeft="@drawable/profile_detail_phone_icon"
                 android:drawablePadding="@dimen/d_12dp"
-                android:text="@string/null_data"
+                android:text="+86 13567876543"
                 android:textColor="@color/profile_black_8098b2"
                 android:textSize="@dimen/d_14sp" />
 
@@ -283,7 +84,7 @@
                 android:layout_marginRight="@dimen/d_10dp"
                 android:drawableLeft="@drawable/profile_detail_nric_icon"
                 android:drawablePadding="@dimen/d_12dp"
-                android:text="@string/null_data"
+                android:text="438776565678761"
                 android:textColor="@color/profile_black_8098b2"
                 android:textSize="@dimen/d_14sp" />
 
@@ -296,7 +97,7 @@
                 android:layout_marginRight="@dimen/d_10dp"
                 android:drawableLeft="@drawable/profile_detail_lang_icon"
                 android:drawablePadding="@dimen/d_12dp"
-                android:text="@string/null_data"
+                android:text="中国"
                 android:textColor="@color/profile_black_8098b2"
                 android:textSize="@dimen/d_14sp" />
 
@@ -309,7 +110,7 @@
                 android:layout_marginRight="@dimen/d_10dp"
                 android:drawableLeft="@drawable/profile_detail_rate_icon"
                 android:drawablePadding="@dimen/d_12dp"
-                android:text="@string/null_data"
+                android:text="15/时"
                 android:textColor="@color/profile_black_8098b2"
                 android:textSize="@dimen/d_14sp" />
 
@@ -436,7 +237,7 @@
                     android:text="Clean Service"
                     android:textColor="@color/profile_black_8098b2"
                     android:textSize="@dimen/d_14sp"
-                    android:visibility="gone" />
+                    android:visibility="visible" />
 
                 <com.guadou.lib_baselib.font_text_view.TextViewMedium
                     android:id="@+id/tv_edit_profile_work_type2"
@@ -450,7 +251,7 @@
                     android:text="Business"
                     android:textColor="@color/profile_black_8098b2"
                     android:textSize="@dimen/d_14sp"
-                    android:visibility="gone" />
+                    android:visibility="visible" />
             </LinearLayout>
 
             <LinearLayout
@@ -473,7 +274,7 @@
                     android:text="Finance"
                     android:textColor="@color/profile_black_8098b2"
                     android:textSize="@dimen/d_14sp"
-                    android:visibility="gone" />
+                    android:visibility="visible" />
 
                 <com.guadou.lib_baselib.font_text_view.TextViewMedium
                     android:id="@+id/tv_edit_profile_work_type4"
@@ -487,7 +288,7 @@
                     android:text="Food &#38; Banquet"
                     android:textColor="@color/profile_black_8098b2"
                     android:textSize="@dimen/d_14sp"
-                    android:visibility="gone" />
+                    android:visibility="visible" />
             </LinearLayout>
 
             <LinearLayout
@@ -511,7 +312,7 @@
                     android:text="Recruitment"
                     android:textColor="@color/profile_black_8098b2"
                     android:textSize="@dimen/d_14sp"
-                    android:visibility="gone" />
+                    android:visibility="visible" />
 
                 <com.guadou.lib_baselib.font_text_view.TextViewMedium
                     android:id="@+id/tv_edit_profile_work_type6"
@@ -523,7 +324,7 @@
                     android:text="Recruitment"
                     android:textColor="@color/profile_black_8098b2"
                     android:textSize="@dimen/d_14sp"
-                    android:visibility="gone" />
+                    android:visibility="visible" />
 
             </LinearLayout>
 
@@ -588,7 +389,7 @@
 
         </LinearLayout>
 
-        <!--    个人信息的到达率    -->
+        <!-- 个人信息的到达率 -->
         <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="wrap_content"

+ 1 - 1
cpt_parttime/src/main/res/layout/item_part_job_how_report.xml

@@ -7,7 +7,7 @@
     android:orientation="vertical">
 
     <!--Title-->
-    <com.guadou.lib_baselib.font_text_view.TextViewBold
+    <com.guadou.lib_baselib.font_text_view.TextViewMedium
         android:id="@+id/tv_how_report_title"
         android:layout_width="match_parent"
         android:layout_height="43dp"

+ 36 - 0
cpt_parttime/src/main/res/layout/stub_job_detail_web.xml

@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="utf-8"?>
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+
+    <WebView
+        android:id="@+id/webview"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:background="@android:color/transparent"
+        android:layerType="software"
+        android:visibility="visible" />
+
+    <ImageView
+        android:id="@+id/iv_close_redpacket"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_gravity="right"
+        android:padding="@dimen/d_5dp"
+        android:layout_marginTop="@dimen/d_50dp"
+        android:layout_marginRight="@dimen/d_20dp"
+        android:src="@drawable/white_delete_icon"
+        android:visibility="gone" />
+
+    <ImageView
+        android:id="@+id/iv_redpacket_rules"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_gravity="left"
+        android:padding="@dimen/d_5dp"
+        android:layout_marginTop="@dimen/d_50dp"
+        android:layout_marginLeft="@dimen/d_20dp"
+        android:src="@drawable/redpacket_web_delete_rules"
+        android:visibility="gone" />
+
+</FrameLayout>

+ 1 - 8
cpt_parttime/src/main/res/layout/tab_job_detail_category.xml

@@ -12,14 +12,7 @@
         android:layout_height="wrap_content"
         android:layout_gravity="center"
         android:textColor="@color/selector_tab_popup_location"
-        android:textSize="@dimen/d_16sp"
+        android:textSize="@dimen/d_15sp"
         tools:text="工作详情" />
 
-    <!--    <View-->
-    <!--        android:layout_width="match_parent"-->
-    <!--        android:layout_height="2dp"-->
-    <!--        android:layout_marginTop="@dimen/d_8dp"-->
-    <!--        android:background="@drawable/selector_tab_line_blue"-->
-    <!--        tools:background="@drawable/shape_blue_bottom_line_3conner" />-->
-
 </LinearLayout>

+ 0 - 203
cpt_parttime/src/main/res/xml/scene_part_job_detail.xml

@@ -1,203 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<MotionScene xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:motion="http://schemas.android.com/apk/res-auto">
-
-    <Transition
-        motion:constraintSetEnd="@+id/end"
-        motion:constraintSetStart="@+id/start"
-        motion:duration="350">
-
-        <OnClick
-            motion:clickAction="toggle"
-            motion:targetId="@id/cl_top_img_box" />
-
-        <OnSwipe
-            motion:dragDirection="dragUp"
-            motion:touchAnchorId="@id/view_pager" />
-
-    </Transition>
-
-    <ConstraintSet android:id="@+id/start">
-
-        <Constraint
-            android:id="@id/cl_top_img_box"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            motion:layout_constraintTop_toTopOf="parent" />
-
-        <Constraint
-            android:id="@id/ll_gallery_box"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginRight="@dimen/d_15dp"
-            android:layout_marginBottom="@dimen/d_10dp"
-            android:alpha="1"
-            motion:layout_constraintBottom_toBottomOf="@id/cl_top_img_box"
-            motion:layout_constraintRight_toRightOf="@id/cl_top_img_box" />
-
-        <Constraint
-            android:id="@id/status_view"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:alpha="0"
-            motion:layout_constraintTop_toTopOf="parent" />
-
-        <Constraint
-            android:id="@id/back_layout"
-            android:layout_width="match_parent"
-            android:layout_height="@dimen/d_40dp"
-            motion:layout_constraintTop_toBottomOf="@id/status_view" />
-
-        <Constraint
-            android:id="@id/tv_job_title"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="@dimen/d_15dp"
-            android:layout_marginTop="@dimen/d_5dp"
-            android:layout_marginRight="@dimen/d_15dp"
-            motion:layout_constraintLeft_toLeftOf="parent"
-            motion:layout_constraintTop_toBottomOf="@id/back_layout">
-            <CustomAttribute
-                motion:attributeName="textSize"
-                motion:customFloatValue="20" />
-        </Constraint>
-
-        <Constraint
-            android:id="@id/tv_job_employer"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="@dimen/d_15dp"
-            android:layout_marginTop="@dimen/d_10dp"
-            android:alpha="1"
-            motion:layout_constraintLeft_toLeftOf="parent"
-            motion:layout_constraintTop_toBottomOf="@id/tv_job_title" />
-
-        <Constraint
-            android:id="@id/tv_job_hour"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="@dimen/d_15dp"
-            android:layout_marginTop="@dimen/d_10dp"
-            android:alpha="1"
-            motion:layout_constraintLeft_toLeftOf="parent"
-            motion:layout_constraintTop_toBottomOf="@id/tv_job_employer" />
-
-        <Constraint
-            android:id="@id/tv_job_industry"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="@dimen/d_15dp"
-            android:layout_marginTop="@dimen/d_8dp"
-            android:alpha="1"
-            motion:layout_constraintLeft_toLeftOf="parent"
-            motion:layout_constraintTop_toBottomOf="@id/tv_job_hour" />
-
-        <Constraint
-            android:id="@id/tab_layout_box"
-            android:layout_width="match_parent"
-            android:layout_height="@dimen/d_40dp"
-            motion:layout_constraintTop_toBottomOf="@id/cl_top_img_box" />
-
-        <Constraint
-            android:id="@id/view_pager"
-            android:layout_width="match_parent"
-            android:layout_height="0dp"
-            motion:layout_constraintBottom_toBottomOf="parent"
-            motion:layout_constraintTop_toBottomOf="@id/tab_layout_box" />
-
-    </ConstraintSet>
-
-    <ConstraintSet android:id="@+id/end">
-
-        <Constraint
-            android:id="@id/cl_top_img_box"
-            android:layout_width="match_parent"
-            android:layout_height="0dp"
-            motion:layout_constraintBottom_toBottomOf="@id/back_layout"
-            motion:layout_constraintTop_toTopOf="parent" />
-
-        <Constraint
-            android:id="@id/ll_gallery_box"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginRight="@dimen/d_15dp"
-            android:layout_marginBottom="@dimen/d_10dp"
-            android:alpha="0"
-            motion:layout_constraintBottom_toBottomOf="@id/cl_top_img_box"
-            motion:layout_constraintRight_toRightOf="@id/cl_top_img_box" />
-
-        <Constraint
-            android:id="@id/status_view"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:alpha="0"
-            motion:layout_constraintTop_toTopOf="parent" />
-
-        <Constraint
-            android:id="@id/back_layout"
-            android:layout_width="match_parent"
-            android:layout_height="@dimen/d_40dp"
-            motion:layout_constraintTop_toBottomOf="@id/status_view" />
-
-        <Constraint
-            android:id="@id/tv_job_title"
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="@dimen/d_50dp"
-            android:layout_marginTop="0dp"
-            android:layout_marginRight="@dimen/d_50dp"
-            motion:layout_constraintBottom_toBottomOf="@id/back_layout"
-            motion:layout_constraintLeft_toLeftOf="@id/back_layout"
-            motion:layout_constraintRight_toRightOf="@id/back_layout"
-            motion:layout_constraintTop_toTopOf="@id/back_layout">
-            <CustomAttribute
-                motion:attributeName="textSize"
-                motion:customFloatValue="20" />
-        </Constraint>
-
-        <Constraint
-            android:id="@id/tv_job_employer"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="@dimen/d_15dp"
-            android:layout_marginTop="@dimen/d_11dp"
-            android:alpha="0"
-            motion:layout_constraintLeft_toLeftOf="parent"
-            motion:layout_constraintTop_toBottomOf="@id/back_layout" />
-
-        <Constraint
-            android:id="@id/tv_job_hour"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="@dimen/d_15dp"
-            android:layout_marginTop="@dimen/d_11dp"
-            android:alpha="0"
-            motion:layout_constraintLeft_toLeftOf="parent"
-            motion:layout_constraintTop_toBottomOf="@id/tv_job_employer" />
-
-        <Constraint
-            android:id="@id/tv_job_industry"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginLeft="@dimen/d_15dp"
-            android:layout_marginTop="@dimen/d_8dp"
-            android:alpha="0"
-            motion:layout_constraintLeft_toLeftOf="parent"
-            motion:layout_constraintTop_toBottomOf="@id/tv_job_hour" />
-
-        <Constraint
-            android:id="@id/tab_layout_box"
-            android:layout_width="match_parent"
-            android:layout_height="@dimen/d_40dp"
-            motion:layout_constraintTop_toBottomOf="@id/back_layout" />
-
-        <Constraint
-            android:id="@id/view_pager"
-            android:layout_width="match_parent"
-            android:layout_height="0dp"
-            motion:layout_constraintBottom_toBottomOf="parent"
-            motion:layout_constraintTop_toBottomOf="@id/tab_layout_box" />
-
-    </ConstraintSet>
-
-</MotionScene>

+ 8 - 3
cs_baselib/src/main/java/com/guadou/lib_baselib/base/BaseApplication.kt

@@ -19,7 +19,7 @@ open class BaseApplication : Application() {
 
     //全局的静态Gson对象
     companion object {
-        lateinit var instance : BaseApplication
+        lateinit var instance: BaseApplication
         val mGson = Gson()
         lateinit var networkType: NetWorkUtil.NetworkType   //此变量会在网络监听中被动态赋值
 
@@ -48,8 +48,13 @@ open class BaseApplication : Application() {
         //ARouter初始化
         initRouter(this)
 
-        //初始化WebView缓存容器
-        WebViewManager.prepare(this)
+        //空闲的时候初始化WebView容器
+        Looper.myQueue().addIdleHandler {
+            //初始化WebView缓存容器
+            WebViewManager.prepare(this)
+            false
+        }
+
     }
 
     private fun initRouter(application: Application) {

+ 1 - 1
cs_baselib/src/main/res/layout/easy_titlebar.xml

@@ -48,7 +48,7 @@
 
         </LinearLayout>
 
-        <com.guadou.lib_baselib.font_text_view.TextViewBold
+        <com.guadou.lib_baselib.font_text_view.TextViewMedium
             android:id="@+id/title_tv"
             android:layout_width="wrap_content"
             android:layout_height="match_parent"

+ 392 - 0
cs_baselib/src/main/res/layout/layout_placeholder_part_time_detail.xml

@@ -0,0 +1,392 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    xmlns:tool="http://schemas.android.com/tools"
+    android:id="@+id/ll_placeholder"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="vertical">
+
+
+    <View
+        android:layout_width="match_parent"
+        android:layout_height="220dp"
+        android:background="@color/shimmer_background_color" />
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/d_50dp"
+        android:gravity="center_vertical"
+        android:orientation="horizontal">
+
+        <View
+            android:layout_width="@dimen/d_50dp"
+            android:layout_height="@dimen/d_18dp"
+            android:layout_marginLeft="@dimen/d_15dp"
+            android:layout_marginRight="@dimen/d_15dp"
+            android:background="@color/shimmer_background_color" />
+
+        <View
+            android:layout_width="@dimen/d_50dp"
+            android:layout_height="@dimen/d_18dp"
+            android:layout_marginLeft="@dimen/d_15dp"
+            android:layout_marginRight="@dimen/d_15dp"
+            android:background="@color/shimmer_background_color" />
+
+        <View
+            android:layout_width="@dimen/d_50dp"
+            android:layout_height="@dimen/d_18dp"
+            android:layout_marginLeft="@dimen/d_15dp"
+            android:layout_marginRight="@dimen/d_15dp"
+            android:background="@color/shimmer_background_color" />
+
+        <View
+            android:layout_width="@dimen/d_50dp"
+            android:layout_height="@dimen/d_18dp"
+            android:layout_marginLeft="@dimen/d_15dp"
+            android:layout_marginRight="@dimen/d_15dp"
+            android:background="@color/shimmer_background_color" />
+
+        <View
+            android:layout_width="@dimen/d_50dp"
+            android:layout_height="@dimen/d_18dp"
+            android:layout_marginLeft="@dimen/d_15dp"
+            android:layout_marginRight="@dimen/d_15dp"
+            android:background="@color/shimmer_background_color" />
+
+    </LinearLayout>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginLeft="@dimen/d_10dp"
+        android:layout_marginTop="@dimen/d_15dp"
+        android:layout_marginRight="@dimen/d_10dp"
+        android:orientation="vertical">
+
+        <View
+            android:layout_width="80dp"
+            android:layout_height="20dp"
+            android:background="@color/shimmer_background_color" />
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/d_10dp"
+            android:orientation="horizontal">
+
+            <View
+                android:layout_width="@dimen/d_90dp"
+                android:layout_height="@dimen/d_60dp"
+                android:background="@color/shimmer_background_color" />
+
+            <LinearLayout
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center"
+                android:gravity="center"
+                android:orientation="vertical">
+
+                <View
+                    android:layout_width="100dp"
+                    android:layout_height="@dimen/d_20dp"
+                    android:layout_marginLeft="@dimen/d_10dp"
+                    android:background="@color/shimmer_background_color" />
+
+                <View
+                    android:layout_width="100dp"
+                    android:layout_height="@dimen/d_20dp"
+                    android:layout_marginLeft="@dimen/d_10dp"
+                    android:layout_marginTop="@dimen/d_10dp"
+                    android:background="@color/shimmer_background_color" />
+
+            </LinearLayout>
+
+
+            <LinearLayout
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center"
+                android:layout_marginLeft="@dimen/d_20dp"
+                android:layout_marginRight="@dimen/d_10dp"
+                android:gravity="center"
+                android:orientation="vertical">
+
+                <View
+                    android:layout_width="100dp"
+                    android:layout_height="@dimen/d_20dp"
+                    android:layout_marginLeft="@dimen/d_10dp"
+                    android:background="@color/shimmer_background_color" />
+
+                <View
+                    android:layout_width="100dp"
+                    android:layout_height="@dimen/d_20dp"
+                    android:layout_marginLeft="@dimen/d_10dp"
+                    android:layout_marginTop="@dimen/d_10dp"
+                    android:background="@color/shimmer_background_color" />
+
+            </LinearLayout>
+
+
+        </LinearLayout>
+
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/d_20dp"
+            android:layout_marginTop="@dimen/d_10dp"
+            android:layout_marginRight="@dimen/d_80dp"
+            android:background="@color/shimmer_background_color" />
+
+    </LinearLayout>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginLeft="@dimen/d_10dp"
+        android:layout_marginTop="@dimen/d_20dp"
+        android:layout_marginRight="@dimen/d_10dp"
+        android:orientation="vertical">
+
+        <View
+            android:layout_width="80dp"
+            android:layout_height="20dp"
+            android:background="@color/shimmer_background_color" />
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/d_10dp"
+            android:orientation="horizontal">
+
+            <View
+                android:layout_width="@dimen/d_90dp"
+                android:layout_height="@dimen/d_60dp"
+                android:background="@color/shimmer_background_color" />
+
+            <LinearLayout
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center"
+                android:gravity="center"
+                android:orientation="vertical">
+
+                <View
+                    android:layout_width="100dp"
+                    android:layout_height="@dimen/d_20dp"
+                    android:layout_marginLeft="@dimen/d_10dp"
+                    android:background="@color/shimmer_background_color" />
+
+                <View
+                    android:layout_width="100dp"
+                    android:layout_height="@dimen/d_20dp"
+                    android:layout_marginLeft="@dimen/d_10dp"
+                    android:layout_marginTop="@dimen/d_10dp"
+                    android:background="@color/shimmer_background_color" />
+
+            </LinearLayout>
+
+
+            <LinearLayout
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center"
+                android:layout_marginLeft="@dimen/d_20dp"
+                android:layout_marginRight="@dimen/d_10dp"
+                android:gravity="center"
+                android:orientation="vertical">
+
+                <View
+                    android:layout_width="100dp"
+                    android:layout_height="@dimen/d_20dp"
+                    android:layout_marginLeft="@dimen/d_10dp"
+                    android:background="@color/shimmer_background_color" />
+
+                <View
+                    android:layout_width="100dp"
+                    android:layout_height="@dimen/d_20dp"
+                    android:layout_marginLeft="@dimen/d_10dp"
+                    android:layout_marginTop="@dimen/d_10dp"
+                    android:background="@color/shimmer_background_color" />
+
+            </LinearLayout>
+
+
+        </LinearLayout>
+
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/d_20dp"
+            android:layout_marginTop="@dimen/d_10dp"
+            android:layout_marginRight="@dimen/d_80dp"
+            android:background="@color/shimmer_background_color" />
+
+    </LinearLayout>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginLeft="@dimen/d_10dp"
+        android:layout_marginTop="@dimen/d_20dp"
+        android:layout_marginRight="@dimen/d_10dp"
+        android:orientation="vertical">
+
+        <View
+            android:layout_width="80dp"
+            android:layout_height="20dp"
+            android:background="@color/shimmer_background_color" />
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/d_10dp"
+            android:orientation="horizontal">
+
+            <View
+                android:layout_width="@dimen/d_90dp"
+                android:layout_height="@dimen/d_60dp"
+                android:background="@color/shimmer_background_color" />
+
+            <LinearLayout
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center"
+                android:gravity="center"
+                android:orientation="vertical">
+
+                <View
+                    android:layout_width="100dp"
+                    android:layout_height="@dimen/d_20dp"
+                    android:layout_marginLeft="@dimen/d_10dp"
+                    android:background="@color/shimmer_background_color" />
+
+                <View
+                    android:layout_width="100dp"
+                    android:layout_height="@dimen/d_20dp"
+                    android:layout_marginLeft="@dimen/d_10dp"
+                    android:layout_marginTop="@dimen/d_10dp"
+                    android:background="@color/shimmer_background_color" />
+
+            </LinearLayout>
+
+
+            <LinearLayout
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center"
+                android:layout_marginLeft="@dimen/d_20dp"
+                android:layout_marginRight="@dimen/d_10dp"
+                android:gravity="center"
+                android:orientation="vertical">
+
+                <View
+                    android:layout_width="100dp"
+                    android:layout_height="@dimen/d_20dp"
+                    android:layout_marginLeft="@dimen/d_10dp"
+                    android:background="@color/shimmer_background_color" />
+
+                <View
+                    android:layout_width="100dp"
+                    android:layout_height="@dimen/d_20dp"
+                    android:layout_marginLeft="@dimen/d_10dp"
+                    android:layout_marginTop="@dimen/d_10dp"
+                    android:background="@color/shimmer_background_color" />
+
+            </LinearLayout>
+
+
+        </LinearLayout>
+
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/d_20dp"
+            android:layout_marginTop="@dimen/d_10dp"
+            android:layout_marginRight="@dimen/d_80dp"
+            android:background="@color/shimmer_background_color" />
+
+    </LinearLayout>
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginLeft="@dimen/d_10dp"
+        android:layout_marginTop="@dimen/d_20dp"
+        android:layout_marginRight="@dimen/d_10dp"
+        android:orientation="vertical">
+
+        <View
+            android:layout_width="80dp"
+            android:layout_height="20dp"
+            android:background="@color/shimmer_background_color" />
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/d_10dp"
+            android:orientation="horizontal">
+
+            <View
+                android:layout_width="@dimen/d_90dp"
+                android:layout_height="@dimen/d_60dp"
+                android:background="@color/shimmer_background_color" />
+
+            <LinearLayout
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center"
+                android:gravity="center"
+                android:orientation="vertical">
+
+                <View
+                    android:layout_width="100dp"
+                    android:layout_height="@dimen/d_20dp"
+                    android:layout_marginLeft="@dimen/d_10dp"
+                    android:background="@color/shimmer_background_color" />
+
+                <View
+                    android:layout_width="100dp"
+                    android:layout_height="@dimen/d_20dp"
+                    android:layout_marginLeft="@dimen/d_10dp"
+                    android:layout_marginTop="@dimen/d_10dp"
+                    android:background="@color/shimmer_background_color" />
+
+            </LinearLayout>
+
+
+            <LinearLayout
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center"
+                android:layout_marginLeft="@dimen/d_20dp"
+                android:layout_marginRight="@dimen/d_10dp"
+                android:gravity="center"
+                android:orientation="vertical">
+
+                <View
+                    android:layout_width="100dp"
+                    android:layout_height="@dimen/d_20dp"
+                    android:layout_marginLeft="@dimen/d_10dp"
+                    android:background="@color/shimmer_background_color" />
+
+                <View
+                    android:layout_width="100dp"
+                    android:layout_height="@dimen/d_20dp"
+                    android:layout_marginLeft="@dimen/d_10dp"
+                    android:layout_marginTop="@dimen/d_10dp"
+                    android:background="@color/shimmer_background_color" />
+
+            </LinearLayout>
+
+
+        </LinearLayout>
+
+        <View
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/d_20dp"
+            android:layout_marginTop="@dimen/d_10dp"
+            android:layout_marginRight="@dimen/d_80dp"
+            android:background="@color/shimmer_background_color" />
+
+    </LinearLayout>
+
+</LinearLayout>
+

BIN
cs_cptServices/src/main/res/drawable-xhdpi/placeholder_img_merchant_detail_banner_bg.webp


BIN
cs_cptServices/src/main/res/drawable-xxhdpi/jump_chat_icon.webp


BIN
cs_cptServices/src/main/res/drawable-xxhdpi/white_delete_icon.webp