diff --git a/app/src/main/java/com/cheng/blzb/event/ContactsEvent.kt b/app/src/main/java/com/cheng/blzb/event/ContactsEvent.kt index afb2ac0..41c16f6 100644 --- a/app/src/main/java/com/cheng/blzb/event/ContactsEvent.kt +++ b/app/src/main/java/com/cheng/blzb/event/ContactsEvent.kt @@ -2,5 +2,11 @@ package com.cheng.blzb.event import com.cheng.blzb.bean.ContactsEntity -class ContactsEvent(val contacts: ContactsEntity) { +class ContactsEvent(val contacts: ContactsEntity, val type: Int) { + + companion object { + const val TYPE_ADD = 1 + const val TYPE_UPDATE = 2 + const val TYPE_DELETE = 3 + } } \ No newline at end of file diff --git a/app/src/main/java/com/cheng/blzb/manager/ContactsManager.kt b/app/src/main/java/com/cheng/blzb/manager/ContactsManager.kt index 6317428..c4ccc79 100644 --- a/app/src/main/java/com/cheng/blzb/manager/ContactsManager.kt +++ b/app/src/main/java/com/cheng/blzb/manager/ContactsManager.kt @@ -10,7 +10,7 @@ object ContactsManager { fun add(contacts: ContactsEntity) { val list = all() - list.add(contacts) + list.add(0, contacts) MMKVUtils.put("contacts_list", Gson().toJson(list)) } diff --git a/app/src/main/java/com/cheng/blzb/manager/ShareManager.kt b/app/src/main/java/com/cheng/blzb/manager/ShareManager.kt index a362516..e7304dc 100644 --- a/app/src/main/java/com/cheng/blzb/manager/ShareManager.kt +++ b/app/src/main/java/com/cheng/blzb/manager/ShareManager.kt @@ -7,6 +7,8 @@ import android.text.TextUtils import androidx.core.content.FileProvider import androidx.fragment.app.FragmentActivity import com.cheng.blzb.R +import com.cheng.blzb.bean.WxShareEntity +import com.cheng.blzb.common.Constants import com.example.base.extensions.toast import com.umeng.socialize.ShareAction import com.umeng.socialize.UMShareListener @@ -20,14 +22,14 @@ import java.io.File object ShareManager { /** - * 分享媒体文件 + * 分享文件 */ fun shareFile(context: Context, file: File) { - val uri = FileProvider.getUriForFile(context,"${context.packageName}.fileprovider", file) + val uri = FileProvider.getUriForFile(context, Constants.AppFilter, file) val intent = Intent(Intent.ACTION_SEND) intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK) intent.putExtra(Intent.EXTRA_STREAM, uri) - intent.setType(if (file.extension == "mp4") "video/mp4" else if (file.extension == "mp3") "audio/x-mpeg" else "image/jpeg") //分享文件类型 + intent.setType("application/*") //分享文件类型 context.startActivity(Intent.createChooser(intent, "分享")) } @@ -37,7 +39,7 @@ object ShareManager { fun shareUrl( activity: FragmentActivity, shareMedia: SHARE_MEDIA, - shareBean: com.cheng.blzb.bean.WxShareEntity, + shareBean: WxShareEntity, clickFun: () -> Unit, ) { if (!TextUtils.isEmpty(shareBean.link)) { diff --git a/app/src/main/java/com/cheng/blzb/ui/dialog/BuySeatDialog.kt b/app/src/main/java/com/cheng/blzb/ui/dialog/BuySeatDialog.kt index 82c78e8..d0e16ed 100644 --- a/app/src/main/java/com/cheng/blzb/ui/dialog/BuySeatDialog.kt +++ b/app/src/main/java/com/cheng/blzb/ui/dialog/BuySeatDialog.kt @@ -114,7 +114,7 @@ class BuySeatDialog : DialogFragment() { if (goodsEntity != null) { binding.tvName.text = goodsEntity!!.goods_name SpanUtils.with(binding.tvOriginPrice) - .append("原价:${DecimalFormat("0.##").format(goodsEntity!!.origin_price.toFloat())}元/个") + .append("${DecimalFormat("0.##").format(goodsEntity!!.origin_price.toFloat())}元/次") .setStrikethrough() .create() totalPrice = goodsEntity!!.price.toFloat() diff --git a/app/src/main/java/com/cheng/blzb/ui/dialog/SeatAuthDialog.kt b/app/src/main/java/com/cheng/blzb/ui/dialog/SeatAuthDialog.kt index d9bc7d0..138f683 100644 --- a/app/src/main/java/com/cheng/blzb/ui/dialog/SeatAuthDialog.kt +++ b/app/src/main/java/com/cheng/blzb/ui/dialog/SeatAuthDialog.kt @@ -15,6 +15,7 @@ import androidx.fragment.app.DialogFragment import com.cheng.blzb.R import com.cheng.blzb.common.Constants import com.cheng.blzb.databinding.DialogSeatAuthBinding +import com.cheng.blzb.impl.TextWatcherImpl import com.cheng.blzb.utils.KeyboardUtils import com.example.base.extensions.getColor import com.example.base.extensions.onClick @@ -27,6 +28,13 @@ class SeatAuthDialog : DialogFragment(), KeyboardUtils.OnSoftInputChangedListene private lateinit var binding: DialogSeatAuthBinding + private val textWatcher = object : TextWatcherImpl() { + @SuppressLint("SetTextI18n") + override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) { + binding.ivClearText.visibility = if (TextUtils.isEmpty(s)) View.INVISIBLE else View.VISIBLE + } + } + override fun onStart() { super.onStart() val window = dialog?.window @@ -59,6 +67,12 @@ class SeatAuthDialog : DialogFragment(), KeyboardUtils.OnSoftInputChangedListene .append("才能正常授权") .create() + binding.etPhone.addTextChangedListener(textWatcher) + + binding.ivClearText.onClick { + binding.etPhone.setText("") + } + binding.ivClose.onClick { dismiss() } binding.btnNext.onClick { @@ -83,6 +97,7 @@ class SeatAuthDialog : DialogFragment(), KeyboardUtils.OnSoftInputChangedListene } override fun onDestroyView() { + binding.etPhone.removeTextChangedListener(textWatcher) KeyboardUtils.unregisterSoftInputChangedListener(requireActivity().window) super.onDestroyView() } diff --git a/app/src/main/java/com/cheng/blzb/ui/dialog/SelectContactsDialog.kt b/app/src/main/java/com/cheng/blzb/ui/dialog/SelectContactsDialog.kt index e02b8d2..2ddd70e 100644 --- a/app/src/main/java/com/cheng/blzb/ui/dialog/SelectContactsDialog.kt +++ b/app/src/main/java/com/cheng/blzb/ui/dialog/SelectContactsDialog.kt @@ -97,7 +97,11 @@ class SelectContactsDialog : DialogFragment() { binding.ivClose.onClick { dismiss() } contactsEvent = RxBus.defaultInstance.toObservable(ContactsEvent::class.java).subscribe { - setData(false) + if (it.type == ContactsEvent.TYPE_ADD) { + setData(false, it.contacts.id) + } else { + setData(false) + } } setData(true) @@ -107,7 +111,7 @@ class SelectContactsDialog : DialogFragment() { return dialog } - private fun setData(init: Boolean) { + private fun setData(init: Boolean, checkedId: String = "") { val selectList = if (init) { val listStr = arguments?.getString("list") ?: "" if (!TextUtils.isEmpty(listStr)) { @@ -119,7 +123,7 @@ class SelectContactsDialog : DialogFragment() { val contactsList = ContactsManager.all() contactsList.forEach { contacts -> - if (selectList.find { it.id == contacts.id } != null) { + if (selectList.find { it.id == contacts.id } != null || contacts.id == checkedId) { contacts.isChecked = true } } diff --git a/app/src/main/java/com/cheng/blzb/ui/fragment/bid/publish/bid/MyBidAdapter.kt b/app/src/main/java/com/cheng/blzb/ui/fragment/bid/publish/bid/MyBidAdapter.kt index f6743df..0083c19 100644 --- a/app/src/main/java/com/cheng/blzb/ui/fragment/bid/publish/bid/MyBidAdapter.kt +++ b/app/src/main/java/com/cheng/blzb/ui/fragment/bid/publish/bid/MyBidAdapter.kt @@ -28,8 +28,6 @@ class MyBidAdapter : LoadMoreAdapter(R.layout.listitem_my_bid) holder.setText(R.id.tv_time, item.tips_time) holder.setGone(R.id.tv_refuse_reason, true) - holder.setGone(R.id.btn_delete, true) - holder.setGone(R.id.btn_edit, true) when (item.status) { "1" -> { holder.setText(R.id.tv_status, "待审核") @@ -43,8 +41,6 @@ class MyBidAdapter : LoadMoreAdapter(R.layout.listitem_my_bid) holder.setTextColor(R.id.tv_status, getColor(R.color.color_e3fae7)) holder.setBackgroundResource(R.id.tv_status, R.drawable.shape_publish_status_bg2) holder.getView(R.id.tv_status).setCompoundDrawablesWithIntrinsicBounds(R.mipmap.ic_publish_status2, 0, 0, 0) - - holder.setGone(R.id.btn_delete, true) } "3" -> { @@ -55,9 +51,6 @@ class MyBidAdapter : LoadMoreAdapter(R.layout.listitem_my_bid) holder.setText(R.id.tv_refuse_reason, "理由:${item.review_remark}") holder.setVisible(R.id.tv_refuse_reason, true) - - holder.setGone(R.id.btn_delete, true) - holder.setGone(R.id.btn_edit, true) } } diff --git a/app/src/main/java/com/cheng/blzb/ui/fragment/bid/publish/bid/MyBidFragment.kt b/app/src/main/java/com/cheng/blzb/ui/fragment/bid/publish/bid/MyBidFragment.kt index 7c4b1e5..fc57ec0 100644 --- a/app/src/main/java/com/cheng/blzb/ui/fragment/bid/publish/bid/MyBidFragment.kt +++ b/app/src/main/java/com/cheng/blzb/ui/fragment/bid/publish/bid/MyBidFragment.kt @@ -67,6 +67,10 @@ class MyBidFragment: ListFragment(R.la } holder.setText(R.id.tv_title, item.goods_name) holder.setText(R.id.tv_content, item.goods_description) - holder.setText(R.id.tv_amount, "${item.goods_price_show}元") + holder.setText(R.id.tv_amount, if (item.goods_price_type == "1") "${item.goods_price_show}元" else item.goods_price_show) holder.setText(R.id.tv_area, item.city_name) holder.setGone(R.id.tv_refuse_reason, true) - holder.setGone(R.id.btn_delete, true) - holder.setGone(R.id.btn_edit, true) when (item.status) { "1" -> { holder.setText(R.id.tv_status, "待审核") @@ -44,8 +42,6 @@ class MyGoodsAdapter: BaseQuickAdapter(R.la holder.setTextColor(R.id.tv_status, getColor(R.color.color_e3fae7)) holder.setBackgroundResource(R.id.tv_status, R.drawable.shape_publish_status_bg2) holder.getView(R.id.tv_status).setCompoundDrawablesWithIntrinsicBounds(R.mipmap.ic_publish_status2, 0, 0, 0) - - holder.setGone(R.id.btn_delete, true) } "3" -> { @@ -56,9 +52,6 @@ class MyGoodsAdapter: BaseQuickAdapter(R.la holder.setText(R.id.tv_refuse_reason, "理由:${item.remark}") holder.setVisible(R.id.tv_refuse_reason, true) - - holder.setGone(R.id.btn_delete, true) - holder.setGone(R.id.btn_edit, true) } } } diff --git a/app/src/main/java/com/cheng/blzb/ui/fragment/bid/publish/goods/MyGoodsFragment.kt b/app/src/main/java/com/cheng/blzb/ui/fragment/bid/publish/goods/MyGoodsFragment.kt index 383e8f4..1756f65 100644 --- a/app/src/main/java/com/cheng/blzb/ui/fragment/bid/publish/goods/MyGoodsFragment.kt +++ b/app/src/main/java/com/cheng/blzb/ui/fragment/bid/publish/goods/MyGoodsFragment.kt @@ -106,6 +106,10 @@ class MyGoodsFragment: BaseFragment() setData() } + mViewModel.deleteLiveData.observe(this) { + binding.mRefreshLayout.autoRefresh() + } + val supplyEvent = RxBus.defaultInstance.toObservable(SupplyEvent::class.java).subscribe { binding.mRefreshLayout.autoRefresh() } diff --git a/app/src/main/java/com/cheng/blzb/ui/fragment/bid/publish/goods/PublishGoodsMessageFragment.kt b/app/src/main/java/com/cheng/blzb/ui/fragment/bid/publish/goods/PublishGoodsMessageFragment.kt index 5045540..f5b9f47 100644 --- a/app/src/main/java/com/cheng/blzb/ui/fragment/bid/publish/goods/PublishGoodsMessageFragment.kt +++ b/app/src/main/java/com/cheng/blzb/ui/fragment/bid/publish/goods/PublishGoodsMessageFragment.kt @@ -27,6 +27,7 @@ import com.cheng.blzb.utils.PermissionUtils import com.example.base.common.RxBus import com.example.base.extensions.getColor import com.example.base.extensions.gone +import com.example.base.extensions.invisible import com.example.base.extensions.onClick import com.example.base.extensions.toast import com.example.base.extensions.visible @@ -315,6 +316,10 @@ class PublishGoodsMessageFragment: BaseFragment() { private var isWxRequesting = false + private val textWatcher = object : TextWatcherImpl() { + @SuppressLint("SetTextI18n") + override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) { + binding.ivClearText.visibility = if (TextUtils.isEmpty(s)) View.INVISIBLE else View.VISIBLE + } + } + @SuppressLint("SetTextI18n") override fun initView() { super.initView() @@ -80,6 +90,12 @@ class LoginFragment : BaseFragment() { override fun initListener() { super.initListener() + binding.edPhone.addTextChangedListener(textWatcher) + + binding.ivClearText.onClick { + binding.edPhone.setText("") + } + binding.ivWxLogin.onClick { if (!api.isWXAppInstalled) { toast("您没有安装微信客户端,请先下载安装") @@ -264,4 +280,9 @@ class LoginFragment : BaseFragment() { req.state = Utils.getApp().packageName + Math.random() * 1000 + "_phone" api.sendReq(req) } + + override fun onDestroyView() { + binding.edPhone.removeTextChangedListener(textWatcher) + super.onDestroyView() + } } diff --git a/app/src/main/java/com/cheng/blzb/ui/fragment/merchant/detail/MerchantGoodsDetailFragment.kt b/app/src/main/java/com/cheng/blzb/ui/fragment/merchant/detail/MerchantGoodsDetailFragment.kt index 9568363..c403b39 100644 --- a/app/src/main/java/com/cheng/blzb/ui/fragment/merchant/detail/MerchantGoodsDetailFragment.kt +++ b/app/src/main/java/com/cheng/blzb/ui/fragment/merchant/detail/MerchantGoodsDetailFragment.kt @@ -102,7 +102,13 @@ class MerchantGoodsDetailFragment : BaseFragment= 4) { + binding.tvCompanyAvatar.text = goodsInfo!!.company.company_name!!.substring(0, 2) + "\n" + goodsInfo!!.company.company_name!!.substring(2, 4) + } else if (goodsInfo!!.company.company_name!!.length == 3) { + binding.tvCompanyAvatar.text = goodsInfo!!.company.company_name!!.substring(0, 2) + "\n" + goodsInfo!!.company.company_name!![2] + } else { + binding.tvCompanyAvatar.text = goodsInfo!!.company.company_name + } binding.tvCompanyName.text = goodsInfo!!.company.company_name binding.tvCompanyCity.text = goodsInfo!!.company.city_name binding.tvExtra.text = if (!TextUtils.isEmpty(goodsInfo!!.company.extra?.toString())) goodsInfo!!.company.extra.toString() else "无" diff --git a/app/src/main/java/com/cheng/blzb/ui/fragment/merchant/list/MerchantGoodsAdapter.kt b/app/src/main/java/com/cheng/blzb/ui/fragment/merchant/list/MerchantGoodsAdapter.kt index 855ee37..b7c5c3a 100644 --- a/app/src/main/java/com/cheng/blzb/ui/fragment/merchant/list/MerchantGoodsAdapter.kt +++ b/app/src/main/java/com/cheng/blzb/ui/fragment/merchant/list/MerchantGoodsAdapter.kt @@ -31,7 +31,13 @@ class MerchantGoodsAdapter: LoadMoreAdapter(R.layout.listit holder.setGone(R.id.tv_company_name, true) holder.setGone(R.id.tv_location, true) if (!TextUtils.isEmpty(item.company.company_name)) { - holder.setText(R.id.tv_company_avatar, item.company.company_name!!.take(2) + "\n" + item.company.company_name.substring(2, 4)) + if (item.company.company_name!!.length >= 4) { + holder.setText(R.id.tv_company_avatar, item.company.company_name.take(2) + "\n" + item.company.company_name.substring(2, 4)) + } else if (item.company.company_name.length == 3) { + holder.setText(R.id.tv_company_avatar, item.company.company_name.take(2) + "\n" + item.company.company_name[2]) + } else { + holder.setText(R.id.tv_company_avatar, item.company.company_name) + } holder.setText(R.id.tv_company_name, item.company.company_name) holder.setVisible(R.id.tv_company_avatar, true) holder.setVisible(R.id.tv_company_name, true) diff --git a/app/src/main/java/com/cheng/blzb/ui/fragment/mine/MineFragment.kt b/app/src/main/java/com/cheng/blzb/ui/fragment/mine/MineFragment.kt index 8037d53..a401961 100644 --- a/app/src/main/java/com/cheng/blzb/ui/fragment/mine/MineFragment.kt +++ b/app/src/main/java/com/cheng/blzb/ui/fragment/mine/MineFragment.kt @@ -59,12 +59,16 @@ class MineFragment : BaseFragment() { override fun onResume() { super.onResume() mViewModel.userInfo(isInit) + mViewModel.getSubscriptionList() + mViewModel.getFavoriteList() + mViewModel.getHistoryList() + mViewModel.getOrderList("") if (isInit) isInit = false } override fun initData() { - mViewModel.getCompanyInfo() super.initData() + mViewModel.getCompanyInfo() } override fun initListener() { @@ -118,7 +122,7 @@ class MineFragment : BaseFragment() { } binding.tvMyPublish.onClick { - PublicActivity.start(requireContext(), MyPublishFragment::class.java) + PublicActivity.start(requireContext(), MyPublishFragment::class.java, Pair("type", 1)) EventReportManager.eventReport(EventConstants.JUMP_TO_MY_PUBLISH, "", "") } @@ -177,6 +181,22 @@ class MineFragment : BaseFragment() { } } + mViewModel.subscribeLiveData.observe(this) { + binding.tvPushCount.text = "${it.size}" + } + + mViewModel.favoriteLiveData.observe(this) { + binding.tvFavoriteCount.text = "${it.size}" + } + + mViewModel.historyLiveData.observe(this) { + binding.tvHistoryCount.text = "${it.size}" + } + + mViewModel.orderLiveData.observe(this) { + binding.tvOrderCount.text = "${it.size}" + } + val authEvent = RxBus.defaultInstance.toObservable(CompanyAuthEvent::class.java).subscribe { mViewModel.getCompanyInfo() } @@ -226,7 +246,7 @@ class MineFragment : BaseFragment() { binding.tvVipName.setTextColor(getColor(R.color.color_fbcd8c)) binding.tvExpireTime.setTextColor(getColor(R.color.color_bcac8e)) binding.tvExpireTime.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.mipmap.ic_mine_arrow1, 0) - binding.ivVipBg.setImageResource(R.mipmap.ic_mine_vip_bg2) + binding.ivVipBg.setImageResource(R.mipmap.ic_mine_vip_bg1) } else if (userInfo?.vip == "12") { isEnterprise = true @@ -236,7 +256,7 @@ class MineFragment : BaseFragment() { binding.tvVipName.setTextColor(getColor(R.color.color_c5ffe1)) binding.tvExpireTime.setTextColor(getColor(R.color.color_a6c8ba)) binding.tvExpireTime.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.mipmap.ic_mine_arrow2, 0) - binding.ivVipBg.setBackgroundResource(R.mipmap.ic_mine_vip_bg2) + binding.ivVipBg.setImageResource(R.mipmap.ic_mine_vip_bg2) } else if (userInfo?.vip == "11") { isEnterprise = true diff --git a/app/src/main/java/com/cheng/blzb/ui/fragment/mine/MineViewModel.kt b/app/src/main/java/com/cheng/blzb/ui/fragment/mine/MineViewModel.kt index 8a93609..a29a80f 100644 --- a/app/src/main/java/com/cheng/blzb/ui/fragment/mine/MineViewModel.kt +++ b/app/src/main/java/com/cheng/blzb/ui/fragment/mine/MineViewModel.kt @@ -1,7 +1,12 @@ package com.cheng.blzb.ui.fragment.mine import androidx.lifecycle.MutableLiveData +import com.cheng.blzb.bean.BidDetailEntity +import com.cheng.blzb.bean.BidItemEntity import com.cheng.blzb.bean.CompanyEntity +import com.cheng.blzb.bean.OrderEntity +import com.cheng.blzb.bean.SubscriptionEntity +import com.cheng.blzb.bean.SubscriptionMessageEntity import com.cheng.blzb.bean.UserEntity import com.cheng.blzb.bean.WxServiceEntity import com.cheng.blzb.common.Constants @@ -17,6 +22,10 @@ import com.tencent.mm.opensdk.openapi.WXAPIFactory class MineViewModel : BaseViewModel() { val userInfoLiveData = MutableLiveData() val companyLiveData = MutableLiveData() + val subscribeLiveData = MutableLiveData>() + val favoriteLiveData = MutableLiveData>() + val historyLiveData = MutableLiveData>() + val orderLiveData = MutableLiveData>() fun userInfo(showLoading: Boolean = false) { if (showLoading) showDialog() @@ -45,6 +54,50 @@ class MineViewModel : BaseViewModel() { }) } + fun getSubscriptionList() { + launchOnUiTryCatch({ + val response = ApiFactory.apiService.getSubscriptionList() + if (response.status) { + subscribeLiveData.postValue(response.data.items) + } + }, { + L.d(it) + }) + } + + fun getFavoriteList() { + launchOnUiTryCatch({ + val response = ApiFactory.apiService.getFavoriteList() + if (response.status) { + favoriteLiveData.postValue(response.data.items) + } + }, { + L.d(it) + }) + } + + fun getHistoryList() { + launchOnUiTryCatch({ + val response = ApiFactory.apiService.getViewHistoryList() + if (response.status) { + historyLiveData.postValue(response.data.items) + } + }, { + L.d(it) + }) + } + + fun getOrderList(status: String) { + launchOnUiTryCatch({ + val response = ApiFactory.apiService.getOrderList(status) + if (response.status) { + orderLiveData.postValue(response.data) + } + }, { + L.d(it) + }) + } + fun wxService() { showDialog() launchOnUiTryCatch({ diff --git a/app/src/main/java/com/cheng/blzb/ui/fragment/mine/vip/VipFragment.kt b/app/src/main/java/com/cheng/blzb/ui/fragment/mine/vip/VipFragment.kt index fa9e2cc..0301db5 100644 --- a/app/src/main/java/com/cheng/blzb/ui/fragment/mine/vip/VipFragment.kt +++ b/app/src/main/java/com/cheng/blzb/ui/fragment/mine/vip/VipFragment.kt @@ -35,6 +35,7 @@ import com.example.base.decoration.GridSpaceItemDecoration import com.example.base.decoration.SpacesItemDecoration import com.example.base.extensions.getColor import com.example.base.extensions.gone +import com.example.base.extensions.setStatusBarLight import com.example.base.extensions.toast import com.example.base.extensions.visible import com.example.base.ui.BaseFragment @@ -86,6 +87,7 @@ class VipFragment : BaseFragment() { override fun initView() { super.initView() setBackColor(R.color.white) + setStatusBarLight(false) updatePageStyle() checkPayType() diff --git a/app/src/main/java/com/cheng/blzb/ui/fragment/push/subscribe/add/AddSubscribeFragment.kt b/app/src/main/java/com/cheng/blzb/ui/fragment/push/subscribe/add/AddSubscribeFragment.kt index e40a004..b802ce4 100644 --- a/app/src/main/java/com/cheng/blzb/ui/fragment/push/subscribe/add/AddSubscribeFragment.kt +++ b/app/src/main/java/com/cheng/blzb/ui/fragment/push/subscribe/add/AddSubscribeFragment.kt @@ -1,8 +1,10 @@ package com.cheng.blzb.ui.fragment.push.subscribe.add import android.annotation.SuppressLint +import android.content.Intent import android.graphics.Color import android.os.Build +import android.provider.Settings import android.text.TextUtils import android.view.View import android.view.animation.RotateAnimation @@ -40,6 +42,7 @@ import com.google.gson.Gson import com.google.gson.JsonObject import okhttp3.RequestBody.Companion.toRequestBody + class AddSubscribeFragment : BaseFragment() { private val type by lazy { arguments?.getInt("type") ?: 1 } // 1 地区 2 数据源 private var subscription: SubscriptionEntity? = null @@ -99,8 +102,20 @@ class AddSubscribeFragment : BaseFragment + if (isGranted) { + updatePushType() + } else { + try { + val intent = Intent() + intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) + intent.setAction(Settings.ACTION_APP_NOTIFICATION_SETTINGS) + intent.putExtra(Settings.EXTRA_APP_PACKAGE, requireContext().packageName) + requireActivity().startActivity(intent) + } catch (e: Exception) { + toast("跳转失败:${e.message}") + } + } } } @@ -166,7 +181,7 @@ class AddSubscribeFragment : BaseFragment + binding.rgPushType.setOnCheckedChangeListener { _, checkedId -> when (checkedId) { R.id.rb1 -> pushType = 1 @@ -358,17 +373,19 @@ class AddSubscribeFragment : BaseFragment { binding.etEmail.setText(receiver) binding.etPhone.gone() binding.etEmail.visible() binding.layoutNotificationState.gone() } + 3 -> { if (NotificationHelper.isNotificationEnabled(requireContext())) { binding.tvNotificationState.text = "已授权" } else { - binding.tvNotificationState.text = "" + binding.tvNotificationState.text = "点击授权" } binding.etPhone.gone() @@ -386,4 +403,13 @@ class AddSubscribeFragment : BaseFragment - + diff --git a/app/src/main/res/drawable/shape_auth_success_dot.xml b/app/src/main/res/drawable/shape_auth_success_dot.xml index d69dc01..11ee88d 100644 --- a/app/src/main/res/drawable/shape_auth_success_dot.xml +++ b/app/src/main/res/drawable/shape_auth_success_dot.xml @@ -1,7 +1,7 @@ - + diff --git a/app/src/main/res/layout/dialog_buy_seat.xml b/app/src/main/res/layout/dialog_buy_seat.xml index 7daeab5..be5f59d 100644 --- a/app/src/main/res/layout/dialog_buy_seat.xml +++ b/app/src/main/res/layout/dialog_buy_seat.xml @@ -18,9 +18,23 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="@dimen/dp_18" - android:background="@mipmap/ic_seat_auth_bg" app:layout_constraintTop_toBottomOf="@id/iv_close"> + + + + + android:paddingBottom="@dimen/dp_16"> diff --git a/app/src/main/res/layout/dialog_seat_auth.xml b/app/src/main/res/layout/dialog_seat_auth.xml index 3a9d828..b2c0461 100644 --- a/app/src/main/res/layout/dialog_seat_auth.xml +++ b/app/src/main/res/layout/dialog_seat_auth.xml @@ -11,15 +11,29 @@ android:layout_marginEnd="@dimen/dp_16" android:src="@mipmap/ic_close_dialog2" app:layout_constraintEnd_toEndOf="parent" - app:layout_constraintTop_toTopOf="parent" /> + android:layout_marginBottom="@dimen/dp_18" + app:layout_constraintBottom_toTopOf="@id/layout_content" /> + app:layout_constraintBottom_toBottomOf="parent"> + + + + + + + + diff --git a/app/src/main/res/layout/fragment_publish_goods_message.xml b/app/src/main/res/layout/fragment_publish_goods_message.xml index cee2caf..b7f8b71 100644 --- a/app/src/main/res/layout/fragment_publish_goods_message.xml +++ b/app/src/main/res/layout/fragment_publish_goods_message.xml @@ -377,8 +377,6 @@ android:layout_height="wrap_content" android:layout_marginStart="@dimen/dp_40" android:overScrollMode="never" - android:paddingTop="@dimen/dp_16" - android:paddingBottom="@dimen/dp_16" android:visibility="gone" app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" app:layout_constraintEnd_toStartOf="@id/iv_add_contacts" diff --git a/app/src/main/res/layout/fragment_push.xml b/app/src/main/res/layout/fragment_push.xml index efdd582..ead0838 100644 --- a/app/src/main/res/layout/fragment_push.xml +++ b/app/src/main/res/layout/fragment_push.xml @@ -20,7 +20,7 @@ app:layout_constraintTop_toTopOf="parent" app:tab_deselect_color="@color/color_1a1a1a" app:tab_enable_gradient_text_size="false" - app:tab_enable_text_bold="true" + app:tab_enable_text_bold="false" app:tab_item_auto_equ_width="false" app:tab_select_color="@color/color_1a1a1a" app:tab_text_max_size="@dimen/sp_18"