From 9c4465c1e325189a659b98403585b97e9038a712 Mon Sep 17 00:00:00 2001 From: chenglifeng Date: Tue, 24 Sep 2024 10:51:38 +0800 Subject: [PATCH] =?UTF-8?q?BaseBindingActivity=E4=BF=AE=E6=94=B9=EF=BC=9Ba?= =?UTF-8?q?pk=E8=BE=93=E5=87=BA=E6=96=87=E4=BB=B6=E5=90=8D=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=EF=BC=9B=E9=A1=B9=E7=9B=AE=E5=88=97=E8=A1=A8=E5=8E=BB?= =?UTF-8?q?=E6=8E=89=E6=9C=80=E8=BF=91=E6=89=93=E5=BC=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 43 ++++++++++-- .../com/project/survey/ui/MainActivity.kt | 3 + .../com/project/survey/ui/SplashActivity.kt | 4 ++ .../survey/ui/approval/ApprovalActivity.kt | 4 ++ .../survey/ui/base/BaseBindingActivity.kt | 2 + .../survey/ui/base/BaseBindingFragment.kt | 2 +- .../controlnet/ControlNetFirstListActivity.kt | 4 ++ .../ControlNetSpeciaListActivity.kt | 4 ++ .../project/survey/ui/home/HomeFragment.kt | 18 ++--- .../survey/ui/home/InstrumentFragment.kt | 20 +++--- .../com/project/survey/ui/home/MeFragment.kt | 13 ++-- .../survey/ui/lofting/LoftingListActivity.kt | 4 ++ .../survey/ui/login/ForgetPwdActivity.kt | 4 ++ .../ui/login/ForgetPwdInputCodeActivity.kt | 4 ++ .../project/survey/ui/login/LoginActivity.kt | 25 +++---- .../survey/ui/login/LoginInputCodeActivity.kt | 4 ++ .../survey/ui/login/SetNewPwdActivity.kt | 4 ++ .../pointmeasure/PointMeasureListActivity.kt | 6 +- .../survey/ui/project/ProjectListActivity.kt | 66 ++++++++++++------- .../survey/ui/project/ProjectListFragment.kt | 4 +- .../main/res/layout/activity_project_list.xml | 46 ++++++++----- app/src/main/res/layout/item_project_list.xml | 1 + .../res/menu/menu_activity_project_list.xml | 1 + 23 files changed, 195 insertions(+), 91 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 5360a63..5d91a8d 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -16,13 +16,11 @@ android { defaultConfig { applicationId "com.bingce.controlnetwork" + flavorDimensions "versionName" minSdkVersion AndroidSdk.minSdkVersion targetSdkVersion AndroidSdk.targetSdkVersion - def versionUtils = new SurveyorVersionUtils(project) - versionCode = versionUtils.versionCode + 0 - versionName = versionUtils.versionName ndk {} testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" @@ -45,13 +43,20 @@ android { buildConfig true } + productFlavors { + shanghai { + def versionUtils = new SurveyorVersionUtils(project) + versionCode versionUtils.versionCode + 0 + versionName versionUtils.versionName + } + } + signingConfigs { debug { storeFile file('./debug.keystore') } } - buildTypes { debug { signingConfig signingConfigs.debug @@ -91,6 +96,36 @@ android { abortOnError false disable 'GoogleAppIndexingWarning' } + + applicationVariants.all { variant -> + // Apk 输出文件名配置 + def versionNameString = variant.productFlavors.get(0).versionName + def branch = "_" + ('git rev-parse --short HEAD'.execute().text.trim()) + variant.outputs.all { output -> + def versionName = (versionNameString + branch).replace(".", "_") + def apkName = output.outputFileName.replace(".apk", "_" + versionName + ".apk") + output.outputFileName = apkName + + //收集mapping文件 + def versionUtils = new SurveyorVersionUtils(project) + def mappingFolder = versionUtils.mappingFolder + if (mappingFolder.isEmpty()) { + return + } + output.assemble.doLast { + def mappingFilePath = new File(mappingFolder, apkName.replace(".apk", "") + "_mapping.txt").getAbsolutePath() + def defaultMapping = new File(project.projectDir, "mapping.txt") + if (defaultMapping.isFile() && defaultMapping.exists()) { + if (defaultMapping.renameTo(mappingFilePath)) { + System.out.println("生成mapping文件:${mappingFilePath}") + } else { + System.out.println("生成mapping文件失败") + } + } + } + + } + } } dependencies { diff --git a/app/src/main/java/com/project/survey/ui/MainActivity.kt b/app/src/main/java/com/project/survey/ui/MainActivity.kt index 84f2c3f..75a7030 100644 --- a/app/src/main/java/com/project/survey/ui/MainActivity.kt +++ b/app/src/main/java/com/project/survey/ui/MainActivity.kt @@ -52,6 +52,9 @@ class MainActivity : BaseBindingActivity() { override fun initData() { } + override fun initListener() { + } + private fun initTabFragment() { //设置tab mBinding.tabLayout.setTabData( diff --git a/app/src/main/java/com/project/survey/ui/SplashActivity.kt b/app/src/main/java/com/project/survey/ui/SplashActivity.kt index 7fd55e0..e74b5e0 100644 --- a/app/src/main/java/com/project/survey/ui/SplashActivity.kt +++ b/app/src/main/java/com/project/survey/ui/SplashActivity.kt @@ -17,4 +17,8 @@ class SplashActivity : BaseBindingActivity() { override fun initData() { } + + override fun initListener() { + + } } \ No newline at end of file diff --git a/app/src/main/java/com/project/survey/ui/approval/ApprovalActivity.kt b/app/src/main/java/com/project/survey/ui/approval/ApprovalActivity.kt index 99ebcc9..8601aa7 100644 --- a/app/src/main/java/com/project/survey/ui/approval/ApprovalActivity.kt +++ b/app/src/main/java/com/project/survey/ui/approval/ApprovalActivity.kt @@ -46,6 +46,10 @@ class ApprovalActivity : BaseBindingActivity() { } + override fun initListener() { + + } + private fun getType() = intent.getStringExtra(KEY_TYPE) diff --git a/app/src/main/java/com/project/survey/ui/base/BaseBindingActivity.kt b/app/src/main/java/com/project/survey/ui/base/BaseBindingActivity.kt index b41ac9f..d490a62 100644 --- a/app/src/main/java/com/project/survey/ui/base/BaseBindingActivity.kt +++ b/app/src/main/java/com/project/survey/ui/base/BaseBindingActivity.kt @@ -30,6 +30,7 @@ abstract class BaseBindingActivity : AppCompatActivity() { abstract fun getBinding(): VB abstract fun initView() abstract fun initData() + abstract fun initListener() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -41,6 +42,7 @@ abstract class BaseBindingActivity : AppCompatActivity() { initToolBar() initView() + initListener() initData() } diff --git a/app/src/main/java/com/project/survey/ui/base/BaseBindingFragment.kt b/app/src/main/java/com/project/survey/ui/base/BaseBindingFragment.kt index b6dfb36..71485b6 100644 --- a/app/src/main/java/com/project/survey/ui/base/BaseBindingFragment.kt +++ b/app/src/main/java/com/project/survey/ui/base/BaseBindingFragment.kt @@ -12,7 +12,7 @@ import com.project.survey.util.param.ParamUtil abstract class BaseBindingFragment : Fragment() { private lateinit var _binding: VB - protected val binding: VB + protected val mBinding: VB get() = _binding protected lateinit var mContext: Context diff --git a/app/src/main/java/com/project/survey/ui/controlnet/ControlNetFirstListActivity.kt b/app/src/main/java/com/project/survey/ui/controlnet/ControlNetFirstListActivity.kt index 13845ba..07bf858 100644 --- a/app/src/main/java/com/project/survey/ui/controlnet/ControlNetFirstListActivity.kt +++ b/app/src/main/java/com/project/survey/ui/controlnet/ControlNetFirstListActivity.kt @@ -50,6 +50,10 @@ class ControlNetFirstListActivity : BaseBindingActivity() versionList.add(ControlNetVersionBean("版本一")) diff --git a/app/src/main/java/com/project/survey/ui/home/HomeFragment.kt b/app/src/main/java/com/project/survey/ui/home/HomeFragment.kt index ac05d24..07ddf27 100644 --- a/app/src/main/java/com/project/survey/ui/home/HomeFragment.kt +++ b/app/src/main/java/com/project/survey/ui/home/HomeFragment.kt @@ -21,35 +21,35 @@ class HomeFragment : BaseBindingFragment() { } override fun initView() { - binding.tvProject.text = "哈哈哈哈哈" + mBinding.tvProject.text = "哈哈哈哈哈" } override fun initData() { - binding.itemToBeProcessed.setBadge(4) + mBinding.itemToBeProcessed.setBadge(4) } override fun initListener() { //点测量 - binding.itemPointMeasure.setOnClickNoRepeatListener { + mBinding.itemPointMeasure.setOnClickNoRepeatListener { PointMeasureListActivity.launch(requireContext()) } //放样 - binding.itemLofting.setOnClickNoRepeatListener { + mBinding.itemLofting.setOnClickNoRepeatListener { LoftingListActivity.launch(mContext) } - binding.itemToBeProcessed.setOnClickNoRepeatListener { + mBinding.itemToBeProcessed.setOnClickNoRepeatListener { ApprovalActivity.launch(requireContext(), ApprovalActivity.TYPE_WAIT) } - binding.itemProcessed.setOnClickNoRepeatListener { + mBinding.itemProcessed.setOnClickNoRepeatListener { ApprovalActivity.launch(requireContext(), ApprovalActivity.TYPE_PROCESSED) } - binding.itemInitiated.setOnClickNoRepeatListener { + mBinding.itemInitiated.setOnClickNoRepeatListener { ApprovalActivity.launch(requireContext(), ApprovalActivity.TYPE_INITIATED) } - binding.itemControlNetFirst.setOnClickNoRepeatListener { + mBinding.itemControlNetFirst.setOnClickNoRepeatListener { ControlNetFirstListActivity.launch(requireContext()) } - binding.itemControlNetSpecial.setOnClickNoRepeatListener { + mBinding.itemControlNetSpecial.setOnClickNoRepeatListener { ControlNetSpeciaListActivity.launch(requireContext()) } } diff --git a/app/src/main/java/com/project/survey/ui/home/InstrumentFragment.kt b/app/src/main/java/com/project/survey/ui/home/InstrumentFragment.kt index a19a0cc..7e2e53f 100644 --- a/app/src/main/java/com/project/survey/ui/home/InstrumentFragment.kt +++ b/app/src/main/java/com/project/survey/ui/home/InstrumentFragment.kt @@ -39,28 +39,28 @@ class InstrumentFragment : BaseBindingFragment() { } override fun initData() { - binding.tvProject.text = "哈哈哈哈哈" + mBinding.tvProject.text = "哈哈哈哈哈" } override fun initListener() { //全站仪联机 - binding.itemConnectTotalStation.setOnClickNoRepeatListener { + mBinding.itemConnectTotalStation.setOnClickNoRepeatListener { ConnectTSActivity.start(mContext) } //RTK联机 - binding.itemConnectRTK.setOnClickNoRepeatListener { + mBinding.itemConnectRTK.setOnClickNoRepeatListener { ConnectRtkActivity.start(this) } //卫星状态 - binding.itemSatelliteStatus.setOnClickNoRepeatListener { + mBinding.itemSatelliteStatus.setOnClickNoRepeatListener { ActivityNavUtil.startActivity { } } //全站仪设站 - binding.itemTotalStationSetupStation.setOnClickListener { + mBinding.itemTotalStationSetupStation.setOnClickListener { InstrumentSetFragmentSetupStationTypeUtils.chooseSetupStationType(this) } //移动站模式 - binding.itemMobileStationMode.setOnClickListener { + mBinding.itemMobileStationMode.setOnClickListener { if (Device.getInstance().isDeviceConnected || AppUtils.isAppDebug()) { if (RTK.getInstance().isSupportRoverSetting) { GnssConfigManager.reset() //重置配置,防止未退出重新连接其他品牌型号导致配置集未改变的问题 @@ -75,7 +75,7 @@ class InstrumentFragment : BaseBindingFragment() { } } //基准站模式 - binding.itemBaseStationMode.setOnClickListener { + mBinding.itemBaseStationMode.setOnClickListener { if (Device.getInstance().isDeviceConnected || AppUtils.isAppDebug()) { if (RTK.getInstance().isSupportBaseSetting) { GnssConfigManager.reset() //重置配置,防止未退出重新连接其他品牌型号导致配置集未改变的问题 @@ -90,15 +90,15 @@ class InstrumentFragment : BaseBindingFragment() { } } //基站平移 - binding.itemBaseStationTranslation.setOnClickListener { + mBinding.itemBaseStationTranslation.setOnClickListener { startBaseStationTranslation() } //坐标系统 - binding.itemCoordinateSystem.setOnClickListener { + mBinding.itemCoordinateSystem.setOnClickListener { BingCeCoordinateSystemActivity.viewAndModifyCurrentCoordinateSystem(requireContext()) } //点校正 - binding.itemPointCorrection.setOnClickListener { + mBinding.itemPointCorrection.setOnClickListener { ActivityNavUtil.startActivity { } } } diff --git a/app/src/main/java/com/project/survey/ui/home/MeFragment.kt b/app/src/main/java/com/project/survey/ui/home/MeFragment.kt index 6264b09..ae022f4 100644 --- a/app/src/main/java/com/project/survey/ui/home/MeFragment.kt +++ b/app/src/main/java/com/project/survey/ui/home/MeFragment.kt @@ -2,7 +2,6 @@ package com.project.survey.ui.home import android.view.LayoutInflater import android.view.ViewGroup -import androidx.activity.viewModels import androidx.fragment.app.viewModels import com.afollestad.materialdialogs.MaterialDialog import com.project.survey.BuildConfig @@ -37,23 +36,23 @@ class MeFragment : BaseBindingFragment() { } updateUIByData() if (BuildConfig.DEBUG) { - binding.tvVersion.text = BuildConfig.VERSION_NAME + mBinding.tvVersion.text = BuildConfig.VERSION_NAME } } private fun updateUIByData(){ val token = SPUtils.getString(SPConstants.TOKEN) ?: "" - binding.tvLoginOrOut.text = + mBinding.tvLoginOrOut.text = if (token.isBlank()) getString(R.string.login) else getString(R.string.login_out) - binding.tvName.text = + mBinding.tvName.text = if (token.isBlank()) "请登录" else SPUtils.getString(SPConstants.ACCOUNT) ?: "" } override fun initListener() { - binding.tvLoginOrOut.setOnClickNoRepeatListener { + mBinding.tvLoginOrOut.setOnClickNoRepeatListener { if (SPUtils.getString(SPConstants.TOKEN).isNullOrBlank()) { // 登录 LoginActivity.start() @@ -71,11 +70,11 @@ class MeFragment : BaseBindingFragment() { .show() } } - binding.llSwitchProject.setOnClickNoRepeatListener { + mBinding.llSwitchProject.setOnClickNoRepeatListener { ProjectListActivity.start() } // TODO: - binding.llAbout.setOnClickNoRepeatListener { + mBinding.llAbout.setOnClickNoRepeatListener { // viewModel.sendSMS("17379748209") } } diff --git a/app/src/main/java/com/project/survey/ui/lofting/LoftingListActivity.kt b/app/src/main/java/com/project/survey/ui/lofting/LoftingListActivity.kt index c3cb43f..4cca88d 100644 --- a/app/src/main/java/com/project/survey/ui/lofting/LoftingListActivity.kt +++ b/app/src/main/java/com/project/survey/ui/lofting/LoftingListActivity.kt @@ -50,4 +50,8 @@ class LoftingListActivity : BaseBindingActivity() { } adapter.refreshData(dataList) } + + override fun initListener() { + + } } \ No newline at end of file diff --git a/app/src/main/java/com/project/survey/ui/login/ForgetPwdActivity.kt b/app/src/main/java/com/project/survey/ui/login/ForgetPwdActivity.kt index 98bad79..411e628 100644 --- a/app/src/main/java/com/project/survey/ui/login/ForgetPwdActivity.kt +++ b/app/src/main/java/com/project/survey/ui/login/ForgetPwdActivity.kt @@ -27,4 +27,8 @@ class ForgetPwdActivity : BaseBindingActivity() { } + override fun initListener() { + + } + } \ No newline at end of file diff --git a/app/src/main/java/com/project/survey/ui/login/ForgetPwdInputCodeActivity.kt b/app/src/main/java/com/project/survey/ui/login/ForgetPwdInputCodeActivity.kt index d2eb90a..3c64b44 100644 --- a/app/src/main/java/com/project/survey/ui/login/ForgetPwdInputCodeActivity.kt +++ b/app/src/main/java/com/project/survey/ui/login/ForgetPwdInputCodeActivity.kt @@ -22,4 +22,8 @@ class ForgetPwdInputCodeActivity : BaseBindingActivity() { override fun initView() { ImmersionBar.with(this).statusBarDarkFont(true).init() + } + + override fun initData() { + viewModel.errorResponse.observe(this) { + mBinding.tvError.text = it + mBinding.tvError.isVisibleOrInvisible(true) + } + // 登录成功 + viewModel.loginResponse.observe(this) { + finish() + } + } + override fun initListener() { mBinding.tvShowOutLogin.setOnClickListener { //切换到外部登录 isOutLogin = true @@ -65,18 +78,6 @@ class LoginActivity : BaseBindingActivity() { //忘记密码 startActivity(Intent(this, ForgetPwdActivity::class.java)) } - - } - - override fun initData() { - viewModel.errorResponse.observe(this) { - mBinding.tvError.text = it - mBinding.tvError.isVisibleOrInvisible(true) - } - // 登录成功 - viewModel.loginResponse.observe(this) { - finish() - } } /** diff --git a/app/src/main/java/com/project/survey/ui/login/LoginInputCodeActivity.kt b/app/src/main/java/com/project/survey/ui/login/LoginInputCodeActivity.kt index 344f378..1061824 100644 --- a/app/src/main/java/com/project/survey/ui/login/LoginInputCodeActivity.kt +++ b/app/src/main/java/com/project/survey/ui/login/LoginInputCodeActivity.kt @@ -19,4 +19,8 @@ class LoginInputCodeActivity : BaseBindingActivity() { } + override fun initListener() { + + } + } \ No newline at end of file diff --git a/app/src/main/java/com/project/survey/ui/pointmeasure/PointMeasureListActivity.kt b/app/src/main/java/com/project/survey/ui/pointmeasure/PointMeasureListActivity.kt index 00957e4..e9bbdd0 100644 --- a/app/src/main/java/com/project/survey/ui/pointmeasure/PointMeasureListActivity.kt +++ b/app/src/main/java/com/project/survey/ui/pointmeasure/PointMeasureListActivity.kt @@ -35,13 +35,9 @@ class PointMeasureListActivity : BaseBindingActivity() { @@ -21,6 +26,9 @@ class ProjectListActivity : BaseBindingActivity() { override fun getBinding(): ActivityProjectListBinding = ActivityProjectListBinding.inflate(layoutInflater) + private val viewModel: ProjectViewModel by viewModels() + private val adapter by lazy { ProjectListAdapter() } + override fun initView() { ImmersionBar.with(this) .statusBarDarkFont(true) @@ -31,35 +39,47 @@ class ProjectListActivity : BaseBindingActivity() { mBinding.ilToolBar.toolbar.setBackgroundColor(0) mBinding.ilToolBar.toolbar.setTitle("项目列表") mBinding.ilToolBar.toolbar.setTitleTextColor(ContextCompat.getColor(this, R.color.text_color_main)) - initTabLayout() +// initTabLayout() + + mBinding.recyclerView.addItemDecoration(HorDividerDecoration(this)) + mBinding.recyclerView.setAdapter(adapter) } override fun initData() { + viewModel.projectResponse.observe(this) { + adapter.submitList(it) + } + + viewModel.getAllProjectIDByAccount(SPUtils.getString(SPConstants.ACCOUNT) ?: "") } - private fun initTabLayout() { - mBinding.tabLayout.setTabData( - arrayListOf( - TabEntity( - "最近打开", - R.drawable.ic_project_recently_selected, - R.drawable.ic_project_recently_unselected - ), - TabEntity( - "全部", - R.drawable.ic_project_all_selected, - R.drawable.ic_project_all_unselected - ) - ), - this, - R.id.container, - arrayListOf( - ProjectListFragment.newInstance(ProjectListFragment.TYPE_RECENTLY), - ProjectListFragment.newInstance(ProjectListFragment.TYPE_ALL) - ) - ) + override fun initListener() { + } +// private fun initTabLayout() { +// mBinding.tabLayout.setTabData( +// arrayListOf( +// TabEntity( +// "最近打开", +// R.drawable.ic_project_recently_selected, +// R.drawable.ic_project_recently_unselected +// ), +// TabEntity( +// "全部", +// R.drawable.ic_project_all_selected, +// R.drawable.ic_project_all_unselected +// ) +// ), +// this, +// R.id.container, +// arrayListOf( +// ProjectListFragment.newInstance(ProjectListFragment.TYPE_RECENTLY), +// ProjectListFragment.newInstance(ProjectListFragment.TYPE_ALL) +// ) +// ) +// } + override fun onCreateOptionsMenu(menu: Menu?): Boolean { menuInflater.inflate(R.menu.menu_activity_project_list, menu) return super.onCreateOptionsMenu(menu) diff --git a/app/src/main/java/com/project/survey/ui/project/ProjectListFragment.kt b/app/src/main/java/com/project/survey/ui/project/ProjectListFragment.kt index c16e02d..56d1832 100644 --- a/app/src/main/java/com/project/survey/ui/project/ProjectListFragment.kt +++ b/app/src/main/java/com/project/survey/ui/project/ProjectListFragment.kt @@ -39,8 +39,8 @@ class ProjectListFragment : BaseBindingFragment() { private lateinit var type: String override fun initView() { - binding.recyclerView.addItemDecoration(HorDividerDecoration(mContext)) - binding.recyclerView.setAdapter(adapter) + mBinding.recyclerView.addItemDecoration(HorDividerDecoration(mContext)) + mBinding.recyclerView.setAdapter(adapter) } override fun initData() { diff --git a/app/src/main/res/layout/activity_project_list.xml b/app/src/main/res/layout/activity_project_list.xml index 4b65761..73d236d 100644 --- a/app/src/main/res/layout/activity_project_list.xml +++ b/app/src/main/res/layout/activity_project_list.xml @@ -1,8 +1,10 @@ - + android:layout_height="match_parent" + tools:itemCount="3" + tools:listitem="@layout/item_project_list" + app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" /> - + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/item_project_list.xml b/app/src/main/res/layout/item_project_list.xml index 207bccf..3591669 100644 --- a/app/src/main/res/layout/item_project_list.xml +++ b/app/src/main/res/layout/item_project_list.xml @@ -4,6 +4,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="wrap_content" + android:paddingHorizontal="16dp" android:paddingVertical="18dp"> +