From a30e7b313edabcb72f991703a26baf4460aca4fd Mon Sep 17 00:00:00 2001 From: YunLei Date: Thu, 17 Nov 2022 15:13:36 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=88=87=E6=8D=A2=E5=92=8C?= =?UTF-8?q?=E7=82=B9=E5=87=BB=E6=95=88=E6=9E=9C,=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E8=BF=87=E6=85=A2=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 4 +- .../main/java/com/yzx/escreen/MainActivity.kt | 72 +++++++++++-------- .../yzx/escreen/fragment/ChangeFragment.kt | 13 +++- .../com/yzx/escreen/fragment/HomeFragment.kt | 23 ++++-- .../yzx/escreen/fragment/VisitorFragment.kt | 13 +++- .../yzx/escreen/presenter/MainPresenter.kt | 4 +- app/src/main/res/layout/fragment_change.xml | 12 +++- app/src/main/res/layout/fragment_home.xml | 12 +++- app/src/main/res/layout/fragment_visitor.xml | 12 +++- 9 files changed, 121 insertions(+), 44 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index d7f13cb..d736c26 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -19,8 +19,8 @@ android { // minSdkVersion 26 minSdkVersion 21 targetSdkVersion 25 - versionCode 20 - versionName "2.1.4" + versionCode 22 + versionName "2.1.5" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" // ndk { diff --git a/app/src/main/java/com/yzx/escreen/MainActivity.kt b/app/src/main/java/com/yzx/escreen/MainActivity.kt index 57bc8c0..befa576 100644 --- a/app/src/main/java/com/yzx/escreen/MainActivity.kt +++ b/app/src/main/java/com/yzx/escreen/MainActivity.kt @@ -70,6 +70,7 @@ class MainActivity : BaseActivity(), NetworkUtils.OnNetworkStatus } showNetworkError() } + private var idsLoading = false private val mHandler = Handler(Looper.getMainLooper()) private val runnable = object : Runnable { @@ -77,7 +78,11 @@ class MainActivity : BaseActivity(), NetworkUtils.OnNetworkStatus val isAutoShowLeave = SPUtils.getInstance().getBoolean("auto_show_leave", false) val isAutoShowChange = SPUtils.getInstance().getBoolean("auto_show_change", false) if (isAutoShowLeave || isAutoShowChange) { - mPresenter?.getLeaveShowIds() + if (!idsLoading) { + idsLoading = true + LogUtils.d("获取详情开始--ids", TimeUtils.getNowMills()) + mPresenter?.getLeaveShowIds() + } mHandler.postDelayed(this, 2000) } else { mHandler.removeCallbacks(this) @@ -94,7 +99,7 @@ class MainActivity : BaseActivity(), NetworkUtils.OnNetworkStatus } } - private val dialogList = mutableListOf() + private val dialogList = mutableListOf() override fun initView() { if (NetworkUtils.isConnected()) { @@ -102,8 +107,8 @@ class MainActivity : BaseActivity(), NetworkUtils.OnNetworkStatus WebActivity.active(this, "${Config.OA_URL}/login") finish() } - if(!User.isLogin()){ - RefreshToken.refresh(object :RefreshToken.RefreshCallback{ + if (!User.isLogin()) { + RefreshToken.refresh(object : RefreshToken.RefreshCallback { override fun onSuccess() { checkVersion() checkAuto() @@ -113,10 +118,10 @@ class MainActivity : BaseActivity(), NetworkUtils.OnNetworkStatus } }) - }else{ + } else { checkVersion() checkAuto() - RefreshToken.refresh(object :RefreshToken.RefreshCallback{ + RefreshToken.refresh(object : RefreshToken.RefreshCallback { override fun onSuccess() { } @@ -146,7 +151,7 @@ class MainActivity : BaseActivity(), NetworkUtils.OnNetworkStatus tabLayout.setOnTabSelectListener(object : OnTabSelectListener { override fun onTabSelect(position: Int) { // viewPager2.currentItem = position - viewPager2.setCurrentItem(position,false) + viewPager2.setCurrentItem(position, false) KeyboardUtils.hideSoftInput(viewPager2) } @@ -182,15 +187,15 @@ class MainActivity : BaseActivity(), NetworkUtils.OnNetworkStatus //接收请假消息 @Subscribe(threadMode = ThreadMode.MAIN) fun onMessageEvent(detail: StuLeave) { - removeOld(detail.id,0) + removeOld(detail.id, 0) val dialog = LeaveDialog(this) dialog.layoutParams = ViewGroup.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT ) dialog.setData(detail) - dialog.setTag(R.id.tag_dialog_name,detail.id) - dialog.setTag(R.id.tag_dialog_type,0) + dialog.setTag(R.id.tag_dialog_name, detail.id) + dialog.setTag(R.id.tag_dialog_type, 0) dialog.onCloseClick = { dialogLayout.removeView(it) dialogList.remove(it) @@ -202,55 +207,55 @@ class MainActivity : BaseActivity(), NetworkUtils.OnNetworkStatus //接收异动消息 @Subscribe(threadMode = ThreadMode.MAIN) fun onMessageEvent(detail: StuChange) { - removeOld(detail.id,1) + removeOld(detail.id, 1) val dialog = ChangeDialog(this) dialog.layoutParams = ViewGroup.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT ) dialog.setData(detail) - dialog.setTag(R.id.tag_dialog_name,detail.id) - dialog.setTag(R.id.tag_dialog_type,1) + dialog.setTag(R.id.tag_dialog_name, detail.id) + dialog.setTag(R.id.tag_dialog_type, 1) dialog.onCloseClick = { dialogLayout.removeView(it) dialogList.remove(it) } - dialogLayout.addView(dialog,0) //请假权限更高,异动插入到最底层 + dialogLayout.addView(dialog, 0) //请假权限更高,异动插入到最底层 dialogList.add(dialog) } //接收访客消息 @Subscribe(threadMode = ThreadMode.MAIN) fun onMessageEvent(detail: Visitor) { - removeOld(detail.id,2) + removeOld(detail.id, 2) val dialog = VisitorDialog(this) dialog.layoutParams = ViewGroup.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT ) dialog.setData(detail) - dialog.setTag(R.id.tag_dialog_name,detail.id) - dialog.setTag(R.id.tag_dialog_type,2) + dialog.setTag(R.id.tag_dialog_name, detail.id) + dialog.setTag(R.id.tag_dialog_type, 2) dialog.onCloseClick = { dialogLayout.removeView(it) dialogList.remove(it) } - dialogLayout.addView(dialog,0) //请假权限更高,访客插入到最底层 + dialogLayout.addView(dialog, 0) //请假权限更高,访客插入到最底层 dialogList.add(dialog) } //接收查看图片消息 @Subscribe(threadMode = ThreadMode.MAIN) fun onMessageEvent(detail: ViewImage) { - removeOld(detail.id,3) + removeOld(detail.id, 3) val dialog = ViewImageDialog(this) dialog.layoutParams = ViewGroup.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT ) dialog.setData(detail) - dialog.setTag(R.id.tag_dialog_name,detail.id) - dialog.setTag(R.id.tag_dialog_type,3) + dialog.setTag(R.id.tag_dialog_name, detail.id) + dialog.setTag(R.id.tag_dialog_type, 3) dialog.onCloseClick = { dialogLayout.removeView(it) dialogList.remove(it) @@ -259,7 +264,7 @@ class MainActivity : BaseActivity(), NetworkUtils.OnNetworkStatus dialogList.add(dialog) } - private fun removeOld(id:Int, type:Int){ + private fun removeOld(id: Int, type: Int) { val view = dialogList.find { val tagId: Int = it.getTag(R.id.tag_dialog_name) as Int val tagType: Int = it.getTag(R.id.tag_dialog_type) as Int @@ -468,23 +473,30 @@ class MainActivity : BaseActivity(), NetworkUtils.OnNetworkStatus } override fun onLeaveIDsSuccess(list: MutableList) { + idsLoading = false + LogUtils.d("获取详情结束--ids", TimeUtils.getNowMills()) val listLeave = list.filter { it.type == 0 }.toMutableList() val listChange = list.filter { it.type == 1 }.toMutableList() - var type =0 - if(listLeave.isNotEmpty()){ + var type = 0 + if (listLeave.isNotEmpty()) { viewPager2.currentItem = 0 - type =0 - }else if(listChange.isNotEmpty()){ + type = 0 + } else if (listChange.isNotEmpty()) { viewPager2.currentItem = 1 - type =1 + type = 1 } - if(list.isNotEmpty()){ + if (list.isNotEmpty()) { viewPager2.postDelayed({ - EventBus.getDefault().post(MessageEventAuto(list,type)) - },500) + EventBus.getDefault().post(MessageEventAuto(list, type)) + }, 500) } } + override fun onLeaveIDsError() { + LogUtils.d("获取详情结束--ids", TimeUtils.getNowMills()) + idsLoading = false + } + override fun onStart() { super.onStart() EventBus.getDefault().register(this) diff --git a/app/src/main/java/com/yzx/escreen/fragment/ChangeFragment.kt b/app/src/main/java/com/yzx/escreen/fragment/ChangeFragment.kt index cfc22a5..abb120f 100644 --- a/app/src/main/java/com/yzx/escreen/fragment/ChangeFragment.kt +++ b/app/src/main/java/com/yzx/escreen/fragment/ChangeFragment.kt @@ -161,6 +161,13 @@ class ChangeFragment : BaseFragment(), ChangeView, initData() } changeStatusBtn(0) + loadingLayout.setOnClickListener { + //do nothing + } + goPageOne.setOnClickListener { + showLayoutLoading() + initData() + } } private fun showLayoutLoading(){ @@ -298,14 +305,16 @@ class ChangeFragment : BaseFragment(), ChangeView, val color = Color.parseColor("#3ca0e9") if (pager.page_no <= 1) { preTxtBtn.textColor = disabledColor + goPageOne.visibility = View.GONE } else { - preTxtBtn.textColor = color + preTxtBtn.textColor = resources.getColor(R.color.s_app_color_blue) + goPageOne.visibility = View.VISIBLE } if (pager.page_no >= pager.total_pages) { nextTxtBtn.textColor = disabledColor } else { - nextTxtBtn.textColor = color + nextTxtBtn.textColor = resources.getColor(R.color.s_app_color_blue) } isLoading = false showEmpty(3) diff --git a/app/src/main/java/com/yzx/escreen/fragment/HomeFragment.kt b/app/src/main/java/com/yzx/escreen/fragment/HomeFragment.kt index 0fcdd4b..6c1bec4 100644 --- a/app/src/main/java/com/yzx/escreen/fragment/HomeFragment.kt +++ b/app/src/main/java/com/yzx/escreen/fragment/HomeFragment.kt @@ -119,6 +119,8 @@ class HomeFragment : BaseFragment(), HomeView, val curr = TimeUtils.getNowMills() if(curr - lastClickTime > 500){ lastClickTime = curr + LogUtils.d("获取详情开始",TimeUtils.getNowMills(),mAdapter.getItem(position).id) + showLayoutLoading() mPresenter?.getDetail(mAdapter.getItem(position).id) } } @@ -134,6 +136,7 @@ class HomeFragment : BaseFragment(), HomeView, showCancelDialog() } R.id.faceEmpty -> { + showLayoutLoading() mPresenter?.getDetail(mAdapter.getItem(position).id) } } @@ -183,6 +186,13 @@ class HomeFragment : BaseFragment(), HomeView, initData() } changeStatusBtn(0) + loadingLayout.setOnClickListener { + //do nothing + } + goPageOne.setOnClickListener { + showLayoutLoading() + initData() + } } private fun showLayoutLoading(){ @@ -190,7 +200,7 @@ class HomeFragment : BaseFragment(), HomeView, } private fun hideLayoutLoading(){ - loadingLayout.visibility = View.GONE + loadingLayout.visibility = View.GONE } @SuppressLint("SetTextI18n") @@ -393,15 +403,18 @@ class HomeFragment : BaseFragment(), HomeView, val color = Color.parseColor("#3ca0e9") if (pager.page_no <= 1) { preTxtBtn.textColor = disabledColor + goPageOne.visibility = View.GONE } else { - preTxtBtn.textColor = color + preTxtBtn.textColor = resources.getColor(R.color.s_app_color_blue) + goPageOne.visibility = View.VISIBLE } if (pager.page_no >= pager.total_pages) { nextTxtBtn.textColor = disabledColor } else { - nextTxtBtn.textColor = color + nextTxtBtn.textColor = resources.getColor(R.color.s_app_color_blue) } + isLoading = false showEmpty(3) hideLayoutLoading() @@ -445,12 +458,14 @@ class HomeFragment : BaseFragment(), HomeView, } else { mShowList.add(detail) } + LogUtils.d("获取详情结束",TimeUtils.getNowMills(),detail.id) + hideLayoutLoading() showLeaveDialog(detail) } } override fun onLeaveDetailError(error: String) { - + hideLayoutLoading() } override fun onStart() { diff --git a/app/src/main/java/com/yzx/escreen/fragment/VisitorFragment.kt b/app/src/main/java/com/yzx/escreen/fragment/VisitorFragment.kt index b1a83e5..7180479 100644 --- a/app/src/main/java/com/yzx/escreen/fragment/VisitorFragment.kt +++ b/app/src/main/java/com/yzx/escreen/fragment/VisitorFragment.kt @@ -166,6 +166,13 @@ class VisitorFragment : BaseFragment(), VisitorView, showVisitorQRCode() } changeStatusBtn(0) + loadingLayout.setOnClickListener { + //do nothing + } + goPageOne.setOnClickListener { + showLayoutLoading() + initData() + } } private fun showLayoutLoading(){ @@ -309,14 +316,16 @@ class VisitorFragment : BaseFragment(), VisitorView, val color = Color.parseColor("#3ca0e9") if (pager.page_no <= 1) { preTxtBtn.textColor = disabledColor + goPageOne.visibility = View.GONE } else { - preTxtBtn.textColor = color + preTxtBtn.textColor = resources.getColor(R.color.s_app_color_blue) + goPageOne.visibility = View.VISIBLE } if (pager.page_no >= pager.total_pages) { nextTxtBtn.textColor = disabledColor } else { - nextTxtBtn.textColor = color + nextTxtBtn.textColor = resources.getColor(R.color.s_app_color_blue) } isLoading = false showEmpty(3) diff --git a/app/src/main/java/com/yzx/escreen/presenter/MainPresenter.kt b/app/src/main/java/com/yzx/escreen/presenter/MainPresenter.kt index 3f8d7dd..7dfabbf 100644 --- a/app/src/main/java/com/yzx/escreen/presenter/MainPresenter.kt +++ b/app/src/main/java/com/yzx/escreen/presenter/MainPresenter.kt @@ -4,13 +4,13 @@ import com.blankj.utilcode.util.LogUtils import com.lzy.okgo.OkGo import com.lzy.okgo.model.Response import com.yzx.escreen.config.Config +import com.yzx.escreen.config.YzxInterface import com.yzx.escreen.model.LeaveID import com.yzx.escreen.model.User import com.yzx.escreen.presenter.base.BasePresenter import com.yzx.escreen.presenter.base.IView import com.yzx.escreen.presenter.base.JsonCallBack import com.yzx.escreen.presenter.base.YzxResponse -import com.yzx.escreen.config.YzxInterface class MainPresenter(view: MainView) : BasePresenter(view) { @@ -34,6 +34,7 @@ class MainPresenter(view: MainView) : BasePresenter(view) { override fun onError(response: Response>?) { super.onError(response) LogUtils.d(response) + mView?.onLeaveIDsError() } }) } @@ -43,4 +44,5 @@ class MainPresenter(view: MainView) : BasePresenter(view) { interface MainView : IView { fun onLeaveIDsSuccess(list: MutableList) + fun onLeaveIDsError() } \ No newline at end of file diff --git a/app/src/main/res/layout/fragment_change.xml b/app/src/main/res/layout/fragment_change.xml index 888fae3..221c4b3 100644 --- a/app/src/main/res/layout/fragment_change.xml +++ b/app/src/main/res/layout/fragment_change.xml @@ -242,7 +242,7 @@ android:layout_height="wrap_content" android:layout_marginStart="@dimen/d_20" android:text="刷新数据" - android:textColor="@color/colorPrimary" + android:textColor="@color/s_app_color_blue" android:textSize="@dimen/sp18" /> + + + + + +