BaseBindingActivity修改;apk输出文件名修改;项目列表去掉最近打开

main
chenglifeng 8 months ago
parent 92b5d8655f
commit 9c4465c1e3
  1. 43
      app/build.gradle
  2. 3
      app/src/main/java/com/project/survey/ui/MainActivity.kt
  3. 4
      app/src/main/java/com/project/survey/ui/SplashActivity.kt
  4. 4
      app/src/main/java/com/project/survey/ui/approval/ApprovalActivity.kt
  5. 2
      app/src/main/java/com/project/survey/ui/base/BaseBindingActivity.kt
  6. 2
      app/src/main/java/com/project/survey/ui/base/BaseBindingFragment.kt
  7. 4
      app/src/main/java/com/project/survey/ui/controlnet/ControlNetFirstListActivity.kt
  8. 4
      app/src/main/java/com/project/survey/ui/controlnet/ControlNetSpeciaListActivity.kt
  9. 18
      app/src/main/java/com/project/survey/ui/home/HomeFragment.kt
  10. 20
      app/src/main/java/com/project/survey/ui/home/InstrumentFragment.kt
  11. 13
      app/src/main/java/com/project/survey/ui/home/MeFragment.kt
  12. 4
      app/src/main/java/com/project/survey/ui/lofting/LoftingListActivity.kt
  13. 4
      app/src/main/java/com/project/survey/ui/login/ForgetPwdActivity.kt
  14. 4
      app/src/main/java/com/project/survey/ui/login/ForgetPwdInputCodeActivity.kt
  15. 25
      app/src/main/java/com/project/survey/ui/login/LoginActivity.kt
  16. 4
      app/src/main/java/com/project/survey/ui/login/LoginInputCodeActivity.kt
  17. 4
      app/src/main/java/com/project/survey/ui/login/SetNewPwdActivity.kt
  18. 6
      app/src/main/java/com/project/survey/ui/pointmeasure/PointMeasureListActivity.kt
  19. 66
      app/src/main/java/com/project/survey/ui/project/ProjectListActivity.kt
  20. 4
      app/src/main/java/com/project/survey/ui/project/ProjectListFragment.kt
  21. 46
      app/src/main/res/layout/activity_project_list.xml
  22. 1
      app/src/main/res/layout/item_project_list.xml
  23. 1
      app/src/main/res/menu/menu_activity_project_list.xml

@ -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 {

@ -52,6 +52,9 @@ class MainActivity : BaseBindingActivity<ActivityMainBinding>() {
override fun initData() {
}
override fun initListener() {
}
private fun initTabFragment() {
//设置tab
mBinding.tabLayout.setTabData(

@ -17,4 +17,8 @@ class SplashActivity : BaseBindingActivity<ActivitySplashBinding>() {
override fun initData() {
}
override fun initListener() {
}
}

@ -46,6 +46,10 @@ class ApprovalActivity : BaseBindingActivity<ActivityApprovalBinding>() {
}
override fun initListener() {
}
private fun getType() = intent.getStringExtra(KEY_TYPE)

@ -30,6 +30,7 @@ abstract class BaseBindingActivity<VB : ViewBinding> : 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<VB : ViewBinding> : AppCompatActivity() {
initToolBar()
initView()
initListener()
initData()
}

@ -12,7 +12,7 @@ import com.project.survey.util.param.ParamUtil
abstract class BaseBindingFragment<VB : ViewBinding> : Fragment() {
private lateinit var _binding: VB
protected val binding: VB
protected val mBinding: VB
get() = _binding
protected lateinit var mContext: Context

@ -50,6 +50,10 @@ class ControlNetFirstListActivity : BaseBindingActivity<ActivityControlNetListBi
adapter.refreshData(dataList)
}
override fun initListener() {
}
private fun initAdapter() {
mBinding.recyclerView.addItemDecoration(TransparentDividerDecoration(this))
adapter.setOnItemClickListener {

@ -38,6 +38,10 @@ class ControlNetSpeciaListActivity : BaseBindingActivity<ActivityControlNetListB
adapter.refreshData(dataList)
}
override fun initListener() {
}
private fun initVersion() {
val versionList = mutableListOf<ControlNetVersionBean>()
versionList.add(ControlNetVersionBean("版本一"))

@ -21,35 +21,35 @@ class HomeFragment : BaseBindingFragment<FragmentHomeBinding>() {
}
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())
}
}

@ -39,28 +39,28 @@ class InstrumentFragment : BaseBindingFragment<FragmentInstrumentBinding>() {
}
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<SatelliteStatusActivity> { }
}
//全站仪设站
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<FragmentInstrumentBinding>() {
}
}
//基准站模式
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<FragmentInstrumentBinding>() {
}
}
//基站平移
binding.itemBaseStationTranslation.setOnClickListener {
mBinding.itemBaseStationTranslation.setOnClickListener {
startBaseStationTranslation()
}
//坐标系统
binding.itemCoordinateSystem.setOnClickListener {
mBinding.itemCoordinateSystem.setOnClickListener {
BingCeCoordinateSystemActivity.viewAndModifyCurrentCoordinateSystem(requireContext())
}
//点校正
binding.itemPointCorrection.setOnClickListener {
mBinding.itemPointCorrection.setOnClickListener {
ActivityNavUtil.startActivity<RtkPointCorrectActivity> { }
}
}

@ -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<FragmentMeBinding>() {
}
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<FragmentMeBinding>() {
.show()
}
}
binding.llSwitchProject.setOnClickNoRepeatListener {
mBinding.llSwitchProject.setOnClickNoRepeatListener {
ProjectListActivity.start()
}
// TODO:
binding.llAbout.setOnClickNoRepeatListener {
mBinding.llAbout.setOnClickNoRepeatListener {
// viewModel.sendSMS("17379748209")
}
}

@ -50,4 +50,8 @@ class LoftingListActivity : BaseBindingActivity<ActivityLoftingListBinding>() {
}
adapter.refreshData(dataList)
}
override fun initListener() {
}
}

@ -27,4 +27,8 @@ class ForgetPwdActivity : BaseBindingActivity<ActivityForgetPwdBinding>() {
}
override fun initListener() {
}
}

@ -22,4 +22,8 @@ class ForgetPwdInputCodeActivity : BaseBindingActivity<ActivityForgetPwdInputCod
}
override fun initListener() {
}
}

@ -33,7 +33,20 @@ class LoginActivity : BaseBindingActivity<ActivityLoginBinding>() {
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<ActivityLoginBinding>() {
//忘记密码
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()
}
}
/**

@ -19,4 +19,8 @@ class LoginInputCodeActivity : BaseBindingActivity<ActivityLoginInputCodeBinding
}
override fun initListener() {
}
}

@ -19,4 +19,8 @@ class SetNewPwdActivity : BaseBindingActivity<ActivitySetNewPwdBinding>() {
}
override fun initListener() {
}
}

@ -35,13 +35,9 @@ class PointMeasureListActivity : BaseBindingActivity<ActivityPointMeasureListBin
.titleBarMarginTop(mBinding.ilToolBar.toolbar)
.init()
setSupportActionBar(mBinding.ilToolBar.toolbar)
initListener()
}
private fun initListener() {
override fun initListener() {
mBinding.tvAll.setOnClickListener {
loadFirstPage()
}

@ -2,13 +2,18 @@ package com.project.survey.ui.project
import android.view.Menu
import android.view.MenuItem
import androidx.activity.viewModels
import androidx.core.content.ContextCompat
import com.bingce.ui.TabEntity
import com.gyf.immersionbar.ImmersionBar
import com.project.survey.R
import com.project.survey.constants.SPConstants
import com.project.survey.databinding.ActivityProjectListBinding
import com.project.survey.logic.viewmodel.ProjectViewModel
import com.project.survey.ui.base.BaseBindingActivity
import com.project.survey.ui.project.adapter.ProjectListAdapter
import com.project.survey.util.ActivityNavUtil
import com.project.survey.util.SPUtils
import com.project.survey.widget.decoration.HorDividerDecoration
class ProjectListActivity : BaseBindingActivity<ActivityProjectListBinding>() {
@ -21,6 +26,9 @@ class ProjectListActivity : BaseBindingActivity<ActivityProjectListBinding>() {
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<ActivityProjectListBinding>() {
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)

@ -39,8 +39,8 @@ class ProjectListFragment : BaseBindingFragment<FragmentProjectListBinding>() {
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() {

@ -1,8 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tl="http://schemas.android.com/apk/res-auto"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical">
<include
@ -11,25 +13,33 @@
<include layout="@layout/item_search" />
<androidx.fragment.app.FragmentContainerView
android:id="@+id/container"
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
android:layout_height="match_parent"
tools:itemCount="3"
tools:listitem="@layout/item_project_list"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />
<com.flyco.tablayout.CommonTabLayout
android:id="@+id/tabLayout"
android:layout_width="match_parent"
android:layout_height="54dp"
android:background="@color/bg_color_main_tab"
tl:tl_iconHeight="23dp"
tl:tl_iconWidth="23dp"
tl:tl_indicator_height="0dp"
tl:tl_textSelectColor="@color/text_color_tab_selected"
tl:tl_textUnselectColor="@color/text_color_tab_unselected"
tl:tl_textsize="12sp"
tl:tl_underline_color="@color/bg_color_main_underline_color"
tl:tl_underline_gravity="TOP"
tl:tl_underline_height="0.5dp" />
<!-- <androidx.fragment.app.FragmentContainerView-->
<!-- android:id="@+id/container"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="0dp"-->
<!-- android:layout_weight="1" />-->
<!-- <com.flyco.tablayout.CommonTabLayout-->
<!-- android:id="@+id/tabLayout"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="54dp"-->
<!-- android:background="@color/bg_color_main_tab"-->
<!-- tl:tl_iconHeight="23dp"-->
<!-- tl:tl_iconWidth="23dp"-->
<!-- tl:tl_indicator_height="0dp"-->
<!-- tl:tl_textSelectColor="@color/text_color_tab_selected"-->
<!-- tl:tl_textUnselectColor="@color/text_color_tab_unselected"-->
<!-- tl:tl_textsize="12sp"-->
<!-- tl:tl_underline_color="@color/bg_color_main_underline_color"-->
<!-- tl:tl_underline_gravity="TOP"-->
<!-- tl:tl_underline_height="0.5dp" />-->
</LinearLayout>

@ -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">
<ImageView

@ -1,5 +1,6 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/menu_activity_project_list_exit"
android:icon="@drawable/icon_toolbar_exit"

Loading…
Cancel
Save