diff --git a/app/src/main/java/com/cheng/blzb/bean/AreaEntity.kt b/app/src/main/java/com/cheng/blzb/bean/AreaEntity.kt index c7cb648..debcc13 100644 --- a/app/src/main/java/com/cheng/blzb/bean/AreaEntity.kt +++ b/app/src/main/java/com/cheng/blzb/bean/AreaEntity.kt @@ -1,5 +1,6 @@ package com.cheng.blzb.bean +import com.cheng.blzb.R import java.io.Serializable class AreaEntity( @@ -9,4 +10,42 @@ class AreaEntity( val amount: String = "", var children: MutableList = mutableListOf(), var isChecked: Boolean = false -) : Serializable \ No newline at end of file +) : Serializable { + + fun getCityImage(): Int { + return when(name) { + "北京" -> R.mipmap.ic_city1 + "天津" -> R.mipmap.ic_city2 + "河北" -> R.mipmap.ic_city3 + "山西" -> R.mipmap.ic_city4 + "内蒙古" -> R.mipmap.ic_city5 + "广东" -> R.mipmap.ic_city6 + "广西" -> R.mipmap.ic_city7 + "海南" -> R.mipmap.ic_city8 + "山东" -> R.mipmap.ic_city9 + "江苏" -> R.mipmap.ic_city10 + "安徽" -> R.mipmap.ic_city11 + "浙江" -> R.mipmap.ic_city12 + "上海" -> R.mipmap.ic_city13 + "福建" -> R.mipmap.ic_city14 + "湖北" -> R.mipmap.ic_city15 + "河南" -> R.mipmap.ic_city16 + "湖南" -> R.mipmap.ic_city17 + "江西" -> R.mipmap.ic_city18 + "宁夏" -> R.mipmap.ic_city19 + "新疆" -> R.mipmap.ic_city20 + "青海" -> R.mipmap.ic_city21 + "陕西" -> R.mipmap.ic_city22 + "甘肃" -> R.mipmap.ic_city23 + "四川" -> R.mipmap.ic_city24 + "云南" -> R.mipmap.ic_city25 + "贵州" -> R.mipmap.ic_city26 + "西藏" -> R.mipmap.ic_city27 + "重庆" -> R.mipmap.ic_city28 + "辽宁" -> R.mipmap.ic_city29 + "吉林" -> R.mipmap.ic_city30 + "黑龙江" -> R.mipmap.ic_city31 + else -> 0 + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/cheng/blzb/manager/UserConfigManager.kt b/app/src/main/java/com/cheng/blzb/manager/UserConfigManager.kt index d9d5402..27a2aac 100644 --- a/app/src/main/java/com/cheng/blzb/manager/UserConfigManager.kt +++ b/app/src/main/java/com/cheng/blzb/manager/UserConfigManager.kt @@ -5,6 +5,7 @@ import android.text.TextUtils import androidx.lifecycle.MutableLiveData import com.cheng.blzb.bean.BidTypeEntity import com.cheng.blzb.bean.AreaEntity +import com.cheng.blzb.bean.HotWordEntity import com.cheng.blzb.net.ApiFactory import com.example.base.extensions.toast import com.example.base.utils.MMKVUtils @@ -266,6 +267,21 @@ object UserConfigManager { return emptyList() } + /** + * 引导页热词 + */ + fun saveGuideKeywords(list: List) { + MMKVUtils.put("guide_keywords", Gson().toJson(list)) + } + + fun getGuideKeywords(): List { + val str = MMKVUtils.getString("guide_keywords") + if (!TextUtils.isEmpty(str)) { + return Gson().fromJson(str, object : TypeToken>() {}.type) + } + return emptyList() + } + /** * 保存个推cid */ diff --git a/app/src/main/java/com/cheng/blzb/ui/activity/LauncherActivity.kt b/app/src/main/java/com/cheng/blzb/ui/activity/LauncherActivity.kt index ec03eed..8cc40d5 100644 --- a/app/src/main/java/com/cheng/blzb/ui/activity/LauncherActivity.kt +++ b/app/src/main/java/com/cheng/blzb/ui/activity/LauncherActivity.kt @@ -115,8 +115,8 @@ class LauncherActivity : BaseActivity() { LoginActivity.start(this@LauncherActivity) } } else { - startActivity() -// startActivity() +// startActivity() + startActivity() } finish() } diff --git a/app/src/main/java/com/cheng/blzb/ui/fragment/guide/GuideFragment.kt b/app/src/main/java/com/cheng/blzb/ui/fragment/guide/GuideFragment.kt index e3691d8..714d407 100644 --- a/app/src/main/java/com/cheng/blzb/ui/fragment/guide/GuideFragment.kt +++ b/app/src/main/java/com/cheng/blzb/ui/fragment/guide/GuideFragment.kt @@ -18,6 +18,7 @@ import com.cheng.blzb.manager.EventReportManager import com.cheng.blzb.manager.UserConfigManager import com.cheng.blzb.ui.base.BasePageAdapter import com.cheng.blzb.ui.fragment.guide.item.GuideItem1Fragment +import com.cheng.blzb.ui.fragment.guide.item.GuideItem2Fragment import com.cheng.blzb.ui.fragment.mine.vip.VipFragment import com.example.base.common.RxBus import org.jetbrains.anko.startActivity @@ -40,7 +41,7 @@ class GuideFragment :BaseFragment() private fun initFragment() { fragmentList.add(GuideItem1Fragment()) -// fragmentList.add(GuideItem2Fragment()) + fragmentList.add(GuideItem2Fragment()) // fragmentList.add(GuideItem3Fragment()) // fragmentList.add(GuideItem4Fragment()) // fragmentList.add(GuideItem5Fragment()) @@ -48,6 +49,8 @@ class GuideFragment :BaseFragment() override fun initData() { super.initData() + mViewModel.getHotWordList() + mViewModel.getCityList() EventReportManager.eventReport(EventConstants.GUIDE_LAUNCH, "", "") } @@ -73,6 +76,14 @@ class GuideFragment :BaseFragment() override fun initObserve() { super.initObserve() + mViewModel.hotWordLiveData.observe(this) { + UserConfigManager.saveGuideKeywords(it) + } + + mViewModel.cityLiveData.observe(this) { + UserConfigManager.saveAreaList(it) + } + val guideEvent = RxBus.defaultInstance.toObservable(GuideEvent::class.java).subscribe { if (it.nextPage) { binding.viewPager.currentItem += 1 diff --git a/app/src/main/java/com/cheng/blzb/ui/fragment/guide/GuideViewModel.kt b/app/src/main/java/com/cheng/blzb/ui/fragment/guide/GuideViewModel.kt index 91e8099..1870506 100644 --- a/app/src/main/java/com/cheng/blzb/ui/fragment/guide/GuideViewModel.kt +++ b/app/src/main/java/com/cheng/blzb/ui/fragment/guide/GuideViewModel.kt @@ -1,6 +1,79 @@ package com.cheng.blzb.ui.fragment.guide +import androidx.lifecycle.MutableLiveData +import com.cheng.blzb.bean.AreaEntity +import com.cheng.blzb.bean.GuideTotalBidEntity +import com.cheng.blzb.bean.GuideUpdateEntity +import com.cheng.blzb.bean.HotWordEntity +import com.cheng.blzb.net.ApiFactory +import com.example.base.extensions.toast +import com.example.base.utils.L import com.example.base.viewmodel.BaseViewModel class GuideViewModel :BaseViewModel(){ + val hotWordLiveData = MutableLiveData>() + val cityLiveData = MutableLiveData>() + val userCityLiveData = MutableLiveData() + val totalLiveData = MutableLiveData() + val updateLiveData = MutableLiveData>() + + fun getHotWordList() { + launchOnUiTryCatch({ + val response = ApiFactory.apiService.getHotWordList() + if (response.status) { + hotWordLiveData.postValue(response.data) + } else toast(response.message, true) + }, { + setError(it) + L.d(it) + }) + } + + fun getCityList() { + launchOnUiTryCatch({ + val response = ApiFactory.apiService.getAreaList() + if (response.status) { + cityLiveData.postValue(response.data) + } else toast(response.message, true) + }, { + setError(it) + L.d(it) + }) + } + + fun getUserCity() { + launchOnUiTryCatch({ + val response = ApiFactory.apiService.getUserCity() + if (response.status) { + userCityLiveData.postValue(response.data) + } else toast(response.message, true) + }, { + setError(it) + L.d(it) + }) + } + + fun getTotalBidInfo(keywords: String, cityIds: String, kindNum: String) { + launchOnUiTryCatch({ + val response = ApiFactory.apiService.getTotalBidInfo(keywords, cityIds, kindNum) + if (response.status) { + totalLiveData.postValue(response.data) + } else toast(response.message, true) + }, { + setError(it) + L.d(it) + }) + } + + fun getUpdateNum() { + launchOnUiTryCatch({ + val response = ApiFactory.apiService.getUpdateNum("8") + if (response.status) { + updateLiveData.postValue(response.data) + } else toast(response.message, true) + }, { + setError(it) + L.d(it) + }) + } } \ No newline at end of file diff --git a/app/src/main/java/com/cheng/blzb/ui/fragment/guide/IndicatorAdapter.kt b/app/src/main/java/com/cheng/blzb/ui/fragment/guide/IndicatorAdapter.kt deleted file mode 100644 index 95db4c1..0000000 --- a/app/src/main/java/com/cheng/blzb/ui/fragment/guide/IndicatorAdapter.kt +++ /dev/null @@ -1,13 +0,0 @@ -package com.cheng.blzb.ui.fragment.guide - -import com.chad.library.adapter.base.BaseQuickAdapter -import com.chad.library.adapter.base.viewholder.BaseViewHolder -import com.cheng.blzb.R - -class IndicatorAdapter: BaseQuickAdapter(R.layout.listitem_indicator) { - var currentIndex = 0 - - override fun convert(holder: BaseViewHolder, item: Int) { - holder.setImageResource(R.id.iv_indicator, if (item == currentIndex) R.drawable.shape_indicator_select else R.drawable.shape_indicator_default) - } -} \ No newline at end of file diff --git a/app/src/main/java/com/cheng/blzb/ui/fragment/guide/adapter/GuideItem2AreaAdapter.kt b/app/src/main/java/com/cheng/blzb/ui/fragment/guide/adapter/GuideItem2AreaAdapter.kt new file mode 100644 index 0000000..f1d940f --- /dev/null +++ b/app/src/main/java/com/cheng/blzb/ui/fragment/guide/adapter/GuideItem2AreaAdapter.kt @@ -0,0 +1,19 @@ +package com.cheng.blzb.ui.fragment.guide.adapter + +import android.graphics.Color +import android.graphics.Typeface +import android.widget.TextView +import com.chad.library.adapter.base.BaseQuickAdapter +import com.chad.library.adapter.base.viewholder.BaseViewHolder +import com.cheng.blzb.R +import com.cheng.blzb.bean.AreaEntity +import com.example.base.extensions.getColor + +class GuideItem2AreaAdapter: BaseQuickAdapter(R.layout.listitem_guide_area) { + override fun convert(holder: BaseViewHolder, item: AreaEntity) { + holder.setText(R.id.tv_name, item.name) + holder.setTextColor(R.id.tv_name, if (item.isChecked) getColor(R.color.color_125ffe) else getColor(R.color.color_222222)) + holder.getView(R.id.tv_name).typeface = if (item.isChecked) Typeface.DEFAULT_BOLD else Typeface.DEFAULT + holder.itemView.setBackgroundColor(if (item.isChecked) Color.WHITE else Color.TRANSPARENT) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/cheng/blzb/ui/fragment/guide/adapter/GuideItem2CityAdapter.kt b/app/src/main/java/com/cheng/blzb/ui/fragment/guide/adapter/GuideItem2CityAdapter.kt new file mode 100644 index 0000000..b116a7e --- /dev/null +++ b/app/src/main/java/com/cheng/blzb/ui/fragment/guide/adapter/GuideItem2CityAdapter.kt @@ -0,0 +1,15 @@ +package com.cheng.blzb.ui.fragment.guide.adapter + +import com.chad.library.adapter.base.BaseQuickAdapter +import com.chad.library.adapter.base.viewholder.BaseViewHolder +import com.cheng.blzb.R +import com.cheng.blzb.bean.AreaEntity + +class GuideItem2CityAdapter: BaseQuickAdapter(R.layout.listitem_guide_city) { + override fun convert(holder: BaseViewHolder, item: AreaEntity) { + holder.setImageResource(R.id.iv_cover, item.getCityImage()) + holder.setText(R.id.tv_city_name, item.name) + holder.setText(R.id.tv_amount, "${item.amount}亿元") + holder.setVisible(R.id.iv_check, item.isChecked) + } +} \ No newline at end of file diff --git a/app/src/main/java/com/cheng/blzb/ui/fragment/guide/item/GuideItem1Fragment.kt b/app/src/main/java/com/cheng/blzb/ui/fragment/guide/item/GuideItem1Fragment.kt index d060eeb..667d786 100644 --- a/app/src/main/java/com/cheng/blzb/ui/fragment/guide/item/GuideItem1Fragment.kt +++ b/app/src/main/java/com/cheng/blzb/ui/fragment/guide/item/GuideItem1Fragment.kt @@ -4,20 +4,22 @@ import android.animation.AnimatorSet import android.animation.ObjectAnimator import android.animation.PropertyValuesHolder import android.view.ViewTreeObserver +import android.view.animation.LinearInterpolator import androidx.core.animation.addListener import com.cheng.blzb.databinding.FragmentGuideItem1Binding -import com.cheng.blzb.ui.activity.MainActivity +import com.cheng.blzb.event.GuideEvent import com.cheng.blzb.ui.fragment.guide.GuideViewModel -import com.efs.sdk.memleaksdk.monitor.internal.bi +import com.example.base.common.RxBus import com.example.base.extensions.onClick import com.example.base.extensions.visible import com.example.base.ui.BaseFragment -import org.jetbrains.anko.startActivity +import com.example.base.utils.DensityUtils -class GuideItem1Fragment: BaseFragment() { +class GuideItem1Fragment : BaseFragment() { + private var canClick = false - override fun initView() { - super.initView() + override fun onLazyLoad() { + super.onLazyLoad() binding.root.viewTreeObserver.addOnGlobalLayoutListener(object : ViewTreeObserver.OnGlobalLayoutListener { override fun onGlobalLayout() { startAnim() @@ -29,13 +31,25 @@ class GuideItem1Fragment: BaseFragment() + if (canClick) { + RxBus.defaultInstance.post(GuideEvent(true)) + } } } private fun startAnim() { - val scaleXHolder1 = PropertyValuesHolder.ofFloat("scaleX", 0f, 1f) - val scaleYHolder1 = PropertyValuesHolder.ofFloat("scaleY", 0f, 1f) + val scaleXHolder1 = PropertyValuesHolder.ofFloat("scaleX", 0f, 1.1f) + val scaleYHolder1 = PropertyValuesHolder.ofFloat("scaleY", 0f, 1.1f) + + val scaleXHolder2 = PropertyValuesHolder.ofFloat("scaleX", 0.85f, 1.15f, 0.9f, 1.1f, 0.95f, 1f) + val scaleYHolder2 = PropertyValuesHolder.ofFloat("scaleY", 0.85f, 1.15f, 0.9f, 1.1f, 0.95f, 1f) + + val layer1AlphaAnim = ObjectAnimator.ofFloat(binding.ivLayer1, "alpha", 0f, 1f) + layer1AlphaAnim.duration = 1600 + layer1AlphaAnim.startDelay = 1600 + layer1AlphaAnim.addListener(onStart = { + binding.ivLayer1.visible() + }) val layer2TransAnim = ObjectAnimator.ofFloat(binding.ivLayer2, "translationX", -binding.ivLayer2.width.toFloat(), 0f) layer2TransAnim.duration = 1000 @@ -50,8 +64,73 @@ class GuideItem1Fragment: BaseFragment() { + private val areaAdapter by lazy { GuideItem2AreaAdapter() } + + private val cityAdapter by lazy { GuideItem2CityAdapter() } + + private var isCountrywide = true + + private var canClick = false + + override fun initView() { + super.initView() + binding.btnNext.typeface = Constants.almmsht + + binding.rvArea.adapter = areaAdapter + + binding.rvCity.adapter = cityAdapter + binding.rvCity.addItemDecoration(GridSpaceItemDecoration(2, DensityUtils.dp2px(10f), DensityUtils.dp2px(10f))) + } + + override fun initData() { + super.initData() + val areaList = UserConfigManager.getAreaList() + areaList.add(0, AreaEntity(0, name = "全国地区", isChecked = true)) + areaAdapter.setList(areaList) + + mViewModel.getUserCity() + } + + override fun onLazyLoad() { + super.onLazyLoad() + startAnim() + } + + override fun initListener() { + super.initListener() + areaAdapter.setOnItemClickListener { _, _, position -> + val item = areaAdapter.getItem(position) + areaAdapter.data.find { it.isChecked }?.isChecked = false + item.isChecked = true + areaAdapter.notifyDataSetChanged() + + val cityList = item.children + cityAdapter.setList(item.children) + + if (item.id == 0) { + updateCheckState(isCountrywide) + } else { + updateCheckState(cityList.all { it.isChecked }) + } + } + + cityAdapter.setOnItemClickListener { _, _, position -> + val item = cityAdapter.getItem(position) + item.isChecked = !item.isChecked + cityAdapter.notifyDataSetChanged() + + updateCheckState(cityAdapter.data.all { it.isChecked }) + isCountrywide = false + } + + binding.tvCheckAll.onClick { + if (areaAdapter.data.find { it.isChecked }?.id == 0) { + isCountrywide = !isCountrywide + + areaAdapter.data.forEach { area -> + area.children.forEach { city -> + city.isChecked = false + } + } + updateCheckState(isCountrywide) + } else { + if (cityAdapter.data.all { it.isChecked }) { + cityAdapter.data.forEach { it.isChecked = false } + } else { + cityAdapter.data.forEach { it.isChecked = true } + } + updateCheckState(cityAdapter.data.all { it.isChecked }) + cityAdapter.notifyDataSetChanged() + isCountrywide = false + } + } + + binding.btnNext.onClick { + if (canClick) { + val selectList = mutableListOf() + areaAdapter.data.forEach { area -> + selectList.addAll(area.children.filter { it.isChecked }) + } + if (!isCountrywide && selectList.isEmpty()) { + toast("请选择地区") + return@onClick + } + if (isCountrywide) { + areaAdapter.data.forEach { area -> + selectList.addAll(area.children) + } + } + RxBus.defaultInstance.post(GuideEvent(true)) + } + } + } + + override fun initObserve() { + super.initObserve() + mViewModel.userCityLiveData.observe(this) { + if (it != null) { + areaAdapter.data.forEach { area -> + area.children.forEach { city -> + if (city.id == it.id) { + area.isChecked = true + city.isChecked = true + isCountrywide = false + areaAdapter.notifyDataSetChanged() + cityAdapter.setList(area.children) + updateCheckState(false) + return@observe + } + } + } + } + } + } + + private fun startAnim() { + val titleTransAnim = ObjectAnimator.ofFloat(binding.ivTitle, "translationX", -DensityUtils.dp2px(200f).toFloat(), 0f) + titleTransAnim.duration = 1000 + titleTransAnim.startDelay = 600 + titleTransAnim.addListener(onStart = { + binding.ivTitle.visible() + }) + + val descTransAnim = ObjectAnimator.ofFloat(binding.ivDesc, "translationX", -DensityUtils.dp2px(200f).toFloat(), 0f) + descTransAnim.duration = 1000 + descTransAnim.startDelay = 600 + descTransAnim.addListener(onStart = { + binding.ivDesc.visible() + }) + + val contentTransAnim = ObjectAnimator.ofFloat(binding.layoutContent, "translationY", ScreenUtils.getScreenHeight().toFloat(), 0f) + contentTransAnim.duration = 1000 + contentTransAnim.addListener(onStart = { + binding.layoutContent.visible() + }) + + val icon1TransAnim = ObjectAnimator.ofFloat(binding.ivIcon1, "translationX", DensityUtils.dp2px(200f).toFloat(), 0f) + icon1TransAnim.duration = 1000 + icon1TransAnim.startDelay = 600 + icon1TransAnim.addListener(onStart = { + binding.ivIcon1.visible() + }) + + val icon2TransAnim = ObjectAnimator.ofFloat(binding.ivIcon2, "translationY", DensityUtils.dp2px(200f).toFloat(), 0f) + icon2TransAnim.duration = 1000 + icon2TransAnim.startDelay = 400 + icon2TransAnim.addListener(onStart = { + binding.ivIcon2.visible() + }) + + val btnTransAnim = ObjectAnimator.ofFloat(binding.btnNext, "translationY", DensityUtils.dp2px(200f).toFloat(), 0f) + btnTransAnim.duration = 1000 + btnTransAnim.startDelay = 400 + btnTransAnim.addListener(onStart = { + binding.btnNext.visible() + }, onEnd = { + canClick = true + }) + + val animSet = AnimatorSet() + animSet.playTogether(titleTransAnim, descTransAnim, contentTransAnim, icon1TransAnim, icon2TransAnim, btnTransAnim) + animSet.start() + } + + private fun updateCheckState(isChecked: Boolean) { + if (isChecked) { + binding.tvCheckAll.setCompoundDrawablesWithIntrinsicBounds(R.mipmap.ic_check_true, 0, 0, 0) + } else { + binding.tvCheckAll.setCompoundDrawablesWithIntrinsicBounds(R.mipmap.ic_check_false, 0, 0, 0) + } + } +} \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_80000000_cor6.xml b/app/src/main/res/drawable/shape_80000000_cor6.xml new file mode 100644 index 0000000..f3cc064 --- /dev/null +++ b/app/src/main/res/drawable/shape_80000000_cor6.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/shape_guide_area_bg.xml b/app/src/main/res/drawable/shape_guide_area_bg.xml new file mode 100644 index 0000000..ad96768 --- /dev/null +++ b/app/src/main/res/drawable/shape_guide_area_bg.xml @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_guide_item1.xml b/app/src/main/res/layout/fragment_guide_item1.xml index 5e698cf..204721e 100644 --- a/app/src/main/res/layout/fragment_guide_item1.xml +++ b/app/src/main/res/layout/fragment_guide_item1.xml @@ -4,7 +4,7 @@ xmlns:tool="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - android:background="@mipmap/ic_guide_item1_bg"> + android:background="@mipmap/ic_guide_bg"> + + - - + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/listitem_guide_area.xml b/app/src/main/res/layout/listitem_guide_area.xml new file mode 100644 index 0000000..7d8c1ef --- /dev/null +++ b/app/src/main/res/layout/listitem_guide_area.xml @@ -0,0 +1,18 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/listitem_guide_city.xml b/app/src/main/res/layout/listitem_guide_city.xml new file mode 100644 index 0000000..937a8de --- /dev/null +++ b/app/src/main/res/layout/listitem_guide_city.xml @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/mipmap-xxhdpi/ic_arrow_auth.png b/app/src/main/res/mipmap-xxhdpi/ic_arrow_auth.png deleted file mode 100644 index 93b0b3c..0000000 Binary files a/app/src/main/res/mipmap-xxhdpi/ic_arrow_auth.png and /dev/null differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_arrow_auth.webp b/app/src/main/res/mipmap-xxhdpi/ic_arrow_auth.webp new file mode 100644 index 0000000..e4b5bac Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_arrow_auth.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_city1.webp b/app/src/main/res/mipmap-xxhdpi/ic_city1.webp new file mode 100644 index 0000000..f59d27d Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_city1.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_city10.webp b/app/src/main/res/mipmap-xxhdpi/ic_city10.webp new file mode 100644 index 0000000..6e51434 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_city10.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_city11.webp b/app/src/main/res/mipmap-xxhdpi/ic_city11.webp new file mode 100644 index 0000000..0d19408 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_city11.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_city12.webp b/app/src/main/res/mipmap-xxhdpi/ic_city12.webp new file mode 100644 index 0000000..df3b47a Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_city12.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_city13.webp b/app/src/main/res/mipmap-xxhdpi/ic_city13.webp new file mode 100644 index 0000000..bc70fe4 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_city13.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_city14.webp b/app/src/main/res/mipmap-xxhdpi/ic_city14.webp new file mode 100644 index 0000000..227d376 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_city14.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_city15.webp b/app/src/main/res/mipmap-xxhdpi/ic_city15.webp new file mode 100644 index 0000000..9c97e1b Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_city15.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_city16.webp b/app/src/main/res/mipmap-xxhdpi/ic_city16.webp new file mode 100644 index 0000000..5407cbe Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_city16.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_city17.webp b/app/src/main/res/mipmap-xxhdpi/ic_city17.webp new file mode 100644 index 0000000..ef7e263 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_city17.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_city18.webp b/app/src/main/res/mipmap-xxhdpi/ic_city18.webp new file mode 100644 index 0000000..f8660db Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_city18.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_city19.webp b/app/src/main/res/mipmap-xxhdpi/ic_city19.webp new file mode 100644 index 0000000..717b2cb Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_city19.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_city2.webp b/app/src/main/res/mipmap-xxhdpi/ic_city2.webp new file mode 100644 index 0000000..f580d3e Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_city2.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_city20.webp b/app/src/main/res/mipmap-xxhdpi/ic_city20.webp new file mode 100644 index 0000000..b28d5d1 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_city20.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_city21.webp b/app/src/main/res/mipmap-xxhdpi/ic_city21.webp new file mode 100644 index 0000000..f0a7ac2 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_city21.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_city22.webp b/app/src/main/res/mipmap-xxhdpi/ic_city22.webp new file mode 100644 index 0000000..eac2732 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_city22.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_city23.webp b/app/src/main/res/mipmap-xxhdpi/ic_city23.webp new file mode 100644 index 0000000..f371177 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_city23.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_city24.webp b/app/src/main/res/mipmap-xxhdpi/ic_city24.webp new file mode 100644 index 0000000..58e2589 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_city24.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_city25.webp b/app/src/main/res/mipmap-xxhdpi/ic_city25.webp new file mode 100644 index 0000000..4abd9d9 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_city25.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_city26.webp b/app/src/main/res/mipmap-xxhdpi/ic_city26.webp new file mode 100644 index 0000000..809cce1 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_city26.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_city27.webp b/app/src/main/res/mipmap-xxhdpi/ic_city27.webp new file mode 100644 index 0000000..c98d9e0 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_city27.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_city28.webp b/app/src/main/res/mipmap-xxhdpi/ic_city28.webp new file mode 100644 index 0000000..b8a06c9 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_city28.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_city29.webp b/app/src/main/res/mipmap-xxhdpi/ic_city29.webp new file mode 100644 index 0000000..8cb7e45 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_city29.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_city3.webp b/app/src/main/res/mipmap-xxhdpi/ic_city3.webp new file mode 100644 index 0000000..a410206 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_city3.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_city30.webp b/app/src/main/res/mipmap-xxhdpi/ic_city30.webp new file mode 100644 index 0000000..9c62261 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_city30.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_city31.webp b/app/src/main/res/mipmap-xxhdpi/ic_city31.webp new file mode 100644 index 0000000..eae2162 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_city31.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_city4.webp b/app/src/main/res/mipmap-xxhdpi/ic_city4.webp new file mode 100644 index 0000000..f3323d1 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_city4.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_city5.webp b/app/src/main/res/mipmap-xxhdpi/ic_city5.webp new file mode 100644 index 0000000..338787a Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_city5.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_city6.webp b/app/src/main/res/mipmap-xxhdpi/ic_city6.webp new file mode 100644 index 0000000..ab3dc9c Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_city6.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_city7.webp b/app/src/main/res/mipmap-xxhdpi/ic_city7.webp new file mode 100644 index 0000000..c95f232 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_city7.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_city8.webp b/app/src/main/res/mipmap-xxhdpi/ic_city8.webp new file mode 100644 index 0000000..6c53f4e Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_city8.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_city9.webp b/app/src/main/res/mipmap-xxhdpi/ic_city9.webp new file mode 100644 index 0000000..3a8dd9d Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_city9.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_guide_bg.webp b/app/src/main/res/mipmap-xxhdpi/ic_guide_bg.webp new file mode 100644 index 0000000..919c1c4 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_guide_bg.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_bg.png b/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_bg.png deleted file mode 100644 index 452c1a3..0000000 Binary files a/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_bg.png and /dev/null differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_desc.png b/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_desc.png deleted file mode 100644 index 1935c41..0000000 Binary files a/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_desc.png and /dev/null differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_desc.webp b/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_desc.webp new file mode 100644 index 0000000..f94ea00 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_desc.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_icon1.png b/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_icon1.png deleted file mode 100644 index 3c9437e..0000000 Binary files a/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_icon1.png and /dev/null differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_icon1.webp b/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_icon1.webp new file mode 100644 index 0000000..de28e97 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_icon1.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_icon2.png b/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_icon2.png deleted file mode 100644 index aec0b95..0000000 Binary files a/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_icon2.png and /dev/null differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_icon2.webp b/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_icon2.webp new file mode 100644 index 0000000..154caec Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_icon2.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_icon3.png b/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_icon3.png deleted file mode 100644 index b825909..0000000 Binary files a/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_icon3.png and /dev/null differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_icon3.webp b/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_icon3.webp new file mode 100644 index 0000000..bfb9d91 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_icon3.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_icon4.png b/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_icon4.png deleted file mode 100644 index eb3bce4..0000000 Binary files a/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_icon4.png and /dev/null differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_icon4.webp b/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_icon4.webp new file mode 100644 index 0000000..7a4a713 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_icon4.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_layer1.png b/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_layer1.png deleted file mode 100644 index d2f0c9b..0000000 Binary files a/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_layer1.png and /dev/null differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_layer1.webp b/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_layer1.webp new file mode 100644 index 0000000..c704ae8 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_layer1.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_layer2.png b/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_layer2.png deleted file mode 100644 index b36ffd5..0000000 Binary files a/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_layer2.png and /dev/null differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_layer2.webp b/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_layer2.webp new file mode 100644 index 0000000..d7e2f87 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_layer2.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_layer3.png b/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_layer3.png deleted file mode 100644 index 6b0a662..0000000 Binary files a/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_layer3.png and /dev/null differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_layer3.webp b/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_layer3.webp new file mode 100644 index 0000000..869f9e1 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_layer3.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_title.png b/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_title.png deleted file mode 100644 index 101fe2f..0000000 Binary files a/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_title.png and /dev/null differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_title.webp b/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_title.webp new file mode 100644 index 0000000..b063f77 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_guide_item1_title.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_guide_item2_city_checked.webp b/app/src/main/res/mipmap-xxhdpi/ic_guide_item2_city_checked.webp new file mode 100644 index 0000000..36846b6 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_guide_item2_city_checked.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_guide_item2_desc.webp b/app/src/main/res/mipmap-xxhdpi/ic_guide_item2_desc.webp new file mode 100644 index 0000000..3084322 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_guide_item2_desc.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_guide_item2_icon1.webp b/app/src/main/res/mipmap-xxhdpi/ic_guide_item2_icon1.webp new file mode 100644 index 0000000..72a9323 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_guide_item2_icon1.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_guide_item2_icon2.webp b/app/src/main/res/mipmap-xxhdpi/ic_guide_item2_icon2.webp new file mode 100644 index 0000000..2105c9c Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_guide_item2_icon2.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_guide_item2_title.webp b/app/src/main/res/mipmap-xxhdpi/ic_guide_item2_title.webp new file mode 100644 index 0000000..9b1fe68 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_guide_item2_title.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_guide_item2_title_left.webp b/app/src/main/res/mipmap-xxhdpi/ic_guide_item2_title_left.webp new file mode 100644 index 0000000..ef6914e Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_guide_item2_title_left.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_guide_item2_title_right.webp b/app/src/main/res/mipmap-xxhdpi/ic_guide_item2_title_right.webp new file mode 100644 index 0000000..9325a49 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_guide_item2_title_right.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_guide_item_btn.png b/app/src/main/res/mipmap-xxhdpi/ic_guide_item_btn.png deleted file mode 100644 index 20729ae..0000000 Binary files a/app/src/main/res/mipmap-xxhdpi/ic_guide_item_btn.png and /dev/null differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_guide_item_btn.webp b/app/src/main/res/mipmap-xxhdpi/ic_guide_item_btn.webp new file mode 100644 index 0000000..5c7e784 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_guide_item_btn.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_publish_delete.png b/app/src/main/res/mipmap-xxhdpi/ic_publish_delete.png deleted file mode 100644 index 7c10dce..0000000 Binary files a/app/src/main/res/mipmap-xxhdpi/ic_publish_delete.png and /dev/null differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_publish_delete.webp b/app/src/main/res/mipmap-xxhdpi/ic_publish_delete.webp new file mode 100644 index 0000000..0019415 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_publish_delete.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_publish_edit.png b/app/src/main/res/mipmap-xxhdpi/ic_publish_edit.png deleted file mode 100644 index 7655c1d..0000000 Binary files a/app/src/main/res/mipmap-xxhdpi/ic_publish_edit.png and /dev/null differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_publish_edit.webp b/app/src/main/res/mipmap-xxhdpi/ic_publish_edit.webp new file mode 100644 index 0000000..8a3d8dd Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_publish_edit.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_publish_status1.png b/app/src/main/res/mipmap-xxhdpi/ic_publish_status1.png deleted file mode 100644 index 8e33d99..0000000 Binary files a/app/src/main/res/mipmap-xxhdpi/ic_publish_status1.png and /dev/null differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_publish_status1.webp b/app/src/main/res/mipmap-xxhdpi/ic_publish_status1.webp new file mode 100644 index 0000000..ae6070f Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_publish_status1.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_publish_status2.png b/app/src/main/res/mipmap-xxhdpi/ic_publish_status2.png deleted file mode 100644 index 9d6808c..0000000 Binary files a/app/src/main/res/mipmap-xxhdpi/ic_publish_status2.png and /dev/null differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_publish_status2.webp b/app/src/main/res/mipmap-xxhdpi/ic_publish_status2.webp new file mode 100644 index 0000000..5bd013d Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_publish_status2.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_publish_status3.png b/app/src/main/res/mipmap-xxhdpi/ic_publish_status3.png deleted file mode 100644 index 03ffb4d..0000000 Binary files a/app/src/main/res/mipmap-xxhdpi/ic_publish_status3.png and /dev/null differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_publish_status3.webp b/app/src/main/res/mipmap-xxhdpi/ic_publish_status3.webp new file mode 100644 index 0000000..8ad4828 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_publish_status3.webp differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_publish_view.png b/app/src/main/res/mipmap-xxhdpi/ic_publish_view.png deleted file mode 100644 index fbb8f16..0000000 Binary files a/app/src/main/res/mipmap-xxhdpi/ic_publish_view.png and /dev/null differ diff --git a/app/src/main/res/mipmap-xxhdpi/ic_publish_view.webp b/app/src/main/res/mipmap-xxhdpi/ic_publish_view.webp new file mode 100644 index 0000000..a2bd168 Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_publish_view.webp differ diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index 5902252..280a1bd 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -90,5 +90,6 @@ 52dp 68dp 66dp + 190dp \ No newline at end of file