Merge branch 'master' of gitlab.navinfo.com:CollectVehicle/OneMapQS
Conflicts: app/src/main/java/com/navinfo/omqs/http/taskupload/TaskUploadScope.kt
@@ -11,7 +11,7 @@
|
||||
"name": "道路种别"
|
||||
},
|
||||
{
|
||||
"table": "OMDB_RD_LINK_DIRECT",
|
||||
"table": "OMDB_LINK_DIRECT",
|
||||
"code": 2010,
|
||||
"name": "道路方向"
|
||||
},
|
||||
|
||||
@@ -47,11 +47,6 @@ class Constant {
|
||||
*/
|
||||
lateinit var DOWNLOAD_PATH: String
|
||||
|
||||
/**
|
||||
* 服务器地址
|
||||
*/
|
||||
const val SERVER_ADDRESS = "http://fastmap.navinfo.com/"
|
||||
|
||||
const val DEBUG = true
|
||||
|
||||
var IS_VIDEO_SPEED by kotlin.properties.Delegates.notNull<Boolean>()
|
||||
|
||||
@@ -1,74 +0,0 @@
|
||||
package com.navinfo.omqs.bean
|
||||
|
||||
import com.google.gson.annotations.SerializedName
|
||||
import com.navinfo.collect.library.data.entity.HadLinkDvoBean
|
||||
import com.navinfo.omqs.Constant
|
||||
import com.navinfo.omqs.tools.FileManager
|
||||
import com.navinfo.omqs.tools.FileManager.Companion.FileDownloadStatus
|
||||
import io.realm.RealmList
|
||||
import io.realm.RealmObject
|
||||
import io.realm.annotations.Ignore
|
||||
import io.realm.annotations.PrimaryKey
|
||||
|
||||
open class TaskBean @JvmOverloads constructor(
|
||||
/**
|
||||
* 测评任务id
|
||||
*/
|
||||
@PrimaryKey
|
||||
var id: Int = 0,
|
||||
/**
|
||||
* 测评任务名称
|
||||
*/
|
||||
var evaluationTaskName: String = "",
|
||||
/**
|
||||
* 市编码
|
||||
*/
|
||||
var cityCode: String = "",
|
||||
/**
|
||||
*市名称
|
||||
*/
|
||||
var cityName: String = "",
|
||||
/**
|
||||
* omdb标准版
|
||||
*/
|
||||
var dataVersion: String = "",
|
||||
/**
|
||||
* 测评人名称
|
||||
*/
|
||||
var evaluatorName: String = "",
|
||||
/**
|
||||
* 项目标签
|
||||
*/
|
||||
var project: String = "",
|
||||
/**
|
||||
* 图幅号
|
||||
*/
|
||||
@SerializedName("hadLinkDvo")
|
||||
var hadLinkDvoList: RealmList<HadLinkDvoBean> = RealmList<HadLinkDvoBean>(),
|
||||
/**
|
||||
* 文件大小
|
||||
*/
|
||||
var fileSize: Long = 0L,
|
||||
/**
|
||||
* 当前下载进度
|
||||
*/
|
||||
var currentSize: Long = 0L,
|
||||
/**
|
||||
* 当前下载状态
|
||||
*/
|
||||
var status: Int = FileDownloadStatus.NONE,
|
||||
|
||||
/**
|
||||
* 上传状态
|
||||
*/
|
||||
var syncStatus: Int = FileManager.Companion.FileUploadStatus.NONE,
|
||||
|
||||
@Ignore
|
||||
var message: String = "",
|
||||
var color: Int = 0xFF00AA
|
||||
) : RealmObject() {
|
||||
fun getDownLoadUrl(): String {
|
||||
return "${Constant.SERVER_ADDRESS}devcp/download?fileStr=$id"
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,7 +1,6 @@
|
||||
package com.navinfo.omqs.db
|
||||
|
||||
import com.navinfo.collect.library.data.entity.HadLinkDvoBean
|
||||
import com.navinfo.omqs.bean.TaskBean
|
||||
import com.navinfo.collect.library.data.entity.TaskBean
|
||||
import io.realm.annotations.RealmModule
|
||||
|
||||
@RealmModule(classes = [TaskBean::class])
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.google.gson.Gson
|
||||
import com.google.gson.GsonBuilder
|
||||
import com.google.gson.reflect.TypeToken
|
||||
import com.navinfo.collect.library.data.dao.impl.TraceDataBase
|
||||
import com.navinfo.collect.library.system.Constant.SERVER_ADDRESS
|
||||
import com.navinfo.omqs.Constant
|
||||
import com.navinfo.omqs.OMQSApplication
|
||||
import com.navinfo.omqs.db.RoomAppDatabase
|
||||
@@ -82,7 +83,7 @@ class GlobalModule {
|
||||
converterFactory: GsonConverterFactory,
|
||||
): Retrofit {
|
||||
val retrofitBuilder = Retrofit.Builder()
|
||||
.baseUrl(Constant.SERVER_ADDRESS)
|
||||
.baseUrl(SERVER_ADDRESS)
|
||||
.client(client.get())
|
||||
.addConverterFactory(converterFactory)
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.navinfo.omqs.http
|
||||
|
||||
import com.navinfo.omqs.bean.OfflineMapCityBean
|
||||
import com.navinfo.omqs.bean.TaskBean
|
||||
import com.navinfo.collect.library.data.entity.TaskBean
|
||||
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package com.navinfo.omqs.http
|
||||
|
||||
import com.navinfo.omqs.bean.OfflineMapCityBean
|
||||
import com.navinfo.omqs.bean.TaskBean
|
||||
import com.navinfo.collect.library.data.entity.TaskBean
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.withContext
|
||||
import javax.inject.Inject
|
||||
|
||||
@@ -2,9 +2,8 @@ package com.navinfo.omqs.http
|
||||
|
||||
import com.navinfo.omqs.bean.EvaluationInfo
|
||||
import com.navinfo.omqs.bean.OfflineMapCityBean
|
||||
import com.navinfo.omqs.bean.TaskBean
|
||||
import com.navinfo.collect.library.data.entity.TaskBean
|
||||
import okhttp3.ResponseBody
|
||||
import retrofit2.Call
|
||||
import retrofit2.Response
|
||||
import retrofit2.http.*
|
||||
|
||||
|
||||
@@ -4,13 +4,10 @@ import android.content.Context
|
||||
import androidx.lifecycle.LifecycleOwner
|
||||
import androidx.lifecycle.Observer
|
||||
import com.navinfo.collect.library.map.NIMapController
|
||||
import com.navinfo.omqs.bean.TaskBean
|
||||
import com.navinfo.collect.library.data.entity.TaskBean
|
||||
import com.navinfo.omqs.hilt.ImportOMDBHiltFactory
|
||||
import com.navinfo.omqs.hilt.OMDBDataBaseHiltFactory
|
||||
import com.navinfo.omqs.http.RetrofitNetworkServiceAPI
|
||||
import dagger.hilt.android.qualifiers.ActivityContext
|
||||
import java.util.concurrent.ConcurrentHashMap
|
||||
import javax.inject.Inject
|
||||
|
||||
|
||||
/**
|
||||
|
||||
@@ -5,7 +5,7 @@ import androidx.lifecycle.LifecycleOwner
|
||||
import androidx.lifecycle.MutableLiveData
|
||||
import androidx.lifecycle.Observer
|
||||
import com.navinfo.omqs.Constant
|
||||
import com.navinfo.omqs.bean.TaskBean
|
||||
import com.navinfo.collect.library.data.entity.TaskBean
|
||||
import com.navinfo.omqs.db.ImportOMDBHelper
|
||||
import com.navinfo.omqs.tools.FileManager
|
||||
import com.navinfo.omqs.tools.FileManager.Companion.FileDownloadStatus
|
||||
|
||||
@@ -3,7 +3,7 @@ package com.navinfo.omqs.http.taskupload
|
||||
import android.content.Context
|
||||
import androidx.lifecycle.LifecycleOwner
|
||||
import androidx.lifecycle.Observer
|
||||
import com.navinfo.omqs.bean.TaskBean
|
||||
import com.navinfo.collect.library.data.entity.TaskBean
|
||||
import com.navinfo.omqs.http.RetrofitNetworkServiceAPI
|
||||
import java.util.concurrent.ConcurrentHashMap
|
||||
|
||||
|
||||
@@ -8,16 +8,10 @@ import androidx.lifecycle.MutableLiveData
|
||||
import androidx.lifecycle.Observer
|
||||
import com.navinfo.collect.library.data.entity.QsRecordBean
|
||||
import com.navinfo.omqs.bean.EvaluationInfo
|
||||
import com.navinfo.omqs.bean.TaskBean
|
||||
import com.navinfo.omqs.http.NetResult
|
||||
import com.navinfo.omqs.tools.FileManager
|
||||
import com.navinfo.collect.library.data.entity.TaskBean
|
||||
import com.navinfo.omqs.tools.FileManager.Companion.FileUploadStatus
|
||||
import io.realm.Realm
|
||||
import kotlinx.coroutines.*
|
||||
import okhttp3.ResponseBody
|
||||
import retrofit2.Call
|
||||
import retrofit2.Callback
|
||||
import retrofit2.Response
|
||||
import java.util.*
|
||||
|
||||
class TaskUploadScope(
|
||||
@@ -67,7 +61,6 @@ class TaskUploadScope(
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 更新状态
|
||||
* @param status [OfflineMapCityBean.Status]
|
||||
@@ -76,10 +69,13 @@ class TaskUploadScope(
|
||||
if (taskBean.syncStatus != status) {
|
||||
taskBean.syncStatus = status
|
||||
uploadData.postValue(taskBean)
|
||||
launch {
|
||||
val realm = Realm.getDefaultInstance()
|
||||
realm.executeTransaction {
|
||||
it.copyToRealmOrUpdate(taskBean)
|
||||
//同步中不进行状态记录,只做界面变更显示
|
||||
if(status!=FileUploadStatus.UPLOADING){
|
||||
launch {
|
||||
val realm = Realm.getDefaultInstance()
|
||||
realm.executeTransaction {
|
||||
it.copyToRealmOrUpdate(taskBean)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -112,11 +108,17 @@ class TaskUploadScope(
|
||||
}
|
||||
|
||||
val realm = Realm.getDefaultInstance()
|
||||
|
||||
val bodyList: MutableList<EvaluationInfo> = ArrayList()
|
||||
|
||||
if (taskBean.syncStatus == FileUploadStatus.WAITING){
|
||||
change(FileUploadStatus.UPLOADING)
|
||||
}
|
||||
|
||||
taskBean.hadLinkDvoList.forEach { hadLinkDvoBean ->
|
||||
val objects = realm.where(QsRecordBean::class.java)
|
||||
.equalTo("linkId", /*"84207223282277331"*/hadLinkDvoBean.linkPid).findAll()
|
||||
if (objects != null) {
|
||||
if (objects != null&&objects.size>0) {
|
||||
val copyList = realm.copyFromRealm(objects)
|
||||
copyList.forEach {
|
||||
val evaluationInfo = EvaluationInfo(
|
||||
@@ -139,26 +141,26 @@ class TaskUploadScope(
|
||||
|
||||
bodyList.add(evaluationInfo)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
if (bodyList.size == 0) {
|
||||
if (taskBean.syncStatus == FileUploadStatus.WAITING)
|
||||
change(FileUploadStatus.NONE)
|
||||
return
|
||||
}
|
||||
val result = uploadManager.netApi.postRequest(bodyList)// .enqueue(object :
|
||||
|
||||
if(bodyList.size>0){
|
||||
val result = uploadManager.netApi.postRequest(bodyList)// .enqueue(object :
|
||||
// Callback<ResponseBody> {
|
||||
if (result.isSuccessful) {
|
||||
if (result.code() == 200) {
|
||||
// handle the response
|
||||
change(FileUploadStatus.DONE)
|
||||
if (result.isSuccessful) {
|
||||
if (result.code() == 200) {
|
||||
// taskBean.syncStatus = FileUploadStatus.DONE
|
||||
// handle the response
|
||||
change(FileUploadStatus.DONE)
|
||||
} else {
|
||||
// handle the failure
|
||||
change(FileUploadStatus.ERROR)
|
||||
}
|
||||
} else {
|
||||
// handle the failure
|
||||
change(FileUploadStatus.ERROR)
|
||||
}
|
||||
} else {
|
||||
change(FileUploadStatus.ERROR)
|
||||
}else{
|
||||
change(FileUploadStatus.NONE)
|
||||
}
|
||||
} catch (e: Throwable) {
|
||||
change(FileUploadStatus.ERROR)
|
||||
|
||||
@@ -3,7 +3,7 @@ package com.navinfo.omqs.tools
|
||||
import android.content.Context
|
||||
import com.navinfo.omqs.Constant
|
||||
import com.navinfo.omqs.bean.OfflineMapCityBean
|
||||
import com.navinfo.omqs.bean.TaskBean
|
||||
import com.navinfo.collect.library.data.entity.TaskBean
|
||||
import java.io.File
|
||||
|
||||
class FileManager {
|
||||
@@ -27,6 +27,7 @@ class FileManager {
|
||||
const val DONE = 1 //完成
|
||||
const val ERROR = 2 //错误
|
||||
const val WAITING = 3 //等待中
|
||||
const val UPLOADING = 4 //同步中
|
||||
}
|
||||
|
||||
//初始化数据文件夹
|
||||
|
||||
@@ -176,7 +176,7 @@ class LoginViewModel @Inject constructor(
|
||||
.directory(userFolder)
|
||||
.name("OMQS.realm")
|
||||
.encryptionKey(password)
|
||||
.modules(Realm.getDefaultModule(), MyRealmModule())
|
||||
// .modules(Realm.getDefaultModule(), MyRealmModule())
|
||||
.schemaVersion(1)
|
||||
.build()
|
||||
Realm.setDefaultConfiguration(config)
|
||||
|
||||
@@ -31,7 +31,7 @@ import com.navinfo.omqs.Constant
|
||||
import com.navinfo.omqs.R
|
||||
import com.navinfo.omqs.bean.ImportConfig
|
||||
import com.navinfo.omqs.bean.SignBean
|
||||
import com.navinfo.omqs.bean.TaskBean
|
||||
import com.navinfo.collect.library.data.entity.TaskBean
|
||||
import com.navinfo.omqs.db.RealmOperateHelper
|
||||
import com.navinfo.omqs.ui.dialog.CommonDialog
|
||||
import com.navinfo.omqs.ui.manager.TakePhotoManager
|
||||
|
||||
@@ -1,18 +1,11 @@
|
||||
package com.navinfo.omqs.ui.fragment.tasklist
|
||||
|
||||
import android.content.Context
|
||||
import android.util.Log
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.lifecycle.Observer
|
||||
import com.navinfo.collect.library.data.entity.QsRecordBean
|
||||
import com.navinfo.omqs.R
|
||||
import com.navinfo.omqs.bean.TaskBean
|
||||
import com.navinfo.omqs.databinding.AdapterQsRecordListBinding
|
||||
import com.navinfo.omqs.databinding.AdapterTaskListBinding
|
||||
import com.navinfo.omqs.http.taskdownload.TaskDownloadManager
|
||||
import com.navinfo.omqs.tools.FileManager.Companion.FileDownloadStatus
|
||||
import com.navinfo.omqs.ui.other.BaseRecyclerViewAdapter
|
||||
import com.navinfo.omqs.ui.other.BaseViewHolder
|
||||
|
||||
|
||||
@@ -1,25 +1,19 @@
|
||||
package com.navinfo.omqs.ui.fragment.tasklist
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.Color
|
||||
import android.util.Log
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.lifecycle.Observer
|
||||
import com.navinfo.omqs.R
|
||||
import com.navinfo.omqs.bean.TaskBean
|
||||
import com.navinfo.collect.library.data.entity.TaskBean
|
||||
import com.navinfo.omqs.databinding.AdapterTaskListBinding
|
||||
import com.navinfo.omqs.http.taskdownload.TaskDownloadManager
|
||||
import com.navinfo.omqs.http.taskupload.TaskUploadManager
|
||||
import com.navinfo.omqs.tools.FileManager
|
||||
import com.navinfo.omqs.tools.FileManager.Companion.FileDownloadStatus
|
||||
import com.navinfo.omqs.tools.FileManager.Companion.FileUploadStatus
|
||||
import com.navinfo.omqs.ui.other.BaseRecyclerViewAdapter
|
||||
import com.navinfo.omqs.ui.other.BaseViewHolder
|
||||
import java.io.File
|
||||
import java.util.*
|
||||
import javax.inject.Inject
|
||||
|
||||
/**
|
||||
* 离线地图城市列表 RecyclerView 适配器
|
||||
@@ -130,6 +124,9 @@ class TaskListAdapter(
|
||||
FileUploadStatus.WAITING -> {
|
||||
binding.taskUploadBtn.text = "等待同步"
|
||||
}
|
||||
FileUploadStatus.UPLOADING -> {
|
||||
binding.taskUploadBtn.text = "同步中"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ import androidx.lifecycle.ViewModel
|
||||
import androidx.lifecycle.viewModelScope
|
||||
import com.navinfo.collect.library.map.NIMapController
|
||||
import com.navinfo.omqs.Constant
|
||||
import com.navinfo.omqs.bean.TaskBean
|
||||
import com.navinfo.collect.library.data.entity.TaskBean
|
||||
import com.navinfo.omqs.http.NetResult
|
||||
import com.navinfo.omqs.http.NetworkService
|
||||
import com.navinfo.omqs.tools.FileManager
|
||||
|
||||
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 32 KiB |
@@ -1,9 +1,9 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
|
||||
<solid android:color="@color/black" />
|
||||
<solid android:color="@color/white" />
|
||||
<stroke
|
||||
android:width="1dp"
|
||||
android:color="@color/deepskyblue" />
|
||||
android:color="@color/highFontColor" />
|
||||
<corners
|
||||
android:bottomLeftRadius="5dp"
|
||||
android:bottomRightRadius="5dp"
|
||||
@@ -4,7 +4,7 @@
|
||||
<shape>
|
||||
<padding android:bottom="2dp" android:left="@dimen/default_widget_padding" android:right="@dimen/default_widget_padding" android:top="2dp"></padding>
|
||||
<solid android:color="@color/cv_gray_153" />
|
||||
<corners android:radius="@dimen/default_btn_corner"></corners>
|
||||
<corners android:radius="@dimen/default_widget_padding"></corners>
|
||||
<stroke android:width="1.1dp" android:color="@color/cv_gray_153" />
|
||||
</shape>
|
||||
</item>
|
||||
@@ -12,7 +12,7 @@
|
||||
<shape>
|
||||
<padding android:bottom="2dp" android:left="@dimen/default_widget_padding" android:right="@dimen/default_widget_padding" android:top="2dp"></padding>
|
||||
<solid android:color="@color/white" />
|
||||
<corners android:radius="@dimen/default_btn_corner"></corners>
|
||||
<corners android:radius="@dimen/default_widget_padding"></corners>
|
||||
<stroke android:width="1.1dp" android:color="@color/colorSecondary" />
|
||||
</shape>
|
||||
</item>
|
||||
@@ -20,7 +20,7 @@
|
||||
<shape>
|
||||
<padding android:bottom="2dp" android:left="@dimen/default_widget_padding" android:right="@dimen/default_widget_padding" android:top="2dp"></padding>
|
||||
<solid android:color="@color/white" />
|
||||
<corners android:radius="@dimen/default_btn_corner"></corners>
|
||||
<corners android:radius="@dimen/default_widget_padding"></corners>
|
||||
<stroke android:width="1.1dp" android:color="@color/colorSecondary" />
|
||||
</shape>
|
||||
</item>
|
||||
@@ -28,7 +28,7 @@
|
||||
<shape>
|
||||
<padding android:bottom="2dp" android:left="@dimen/default_widget_padding" android:right="@dimen/default_widget_padding" android:top="2dp"></padding>
|
||||
<solid android:color="@color/cvm_red" />
|
||||
<corners android:radius="@dimen/default_btn_corner"></corners>
|
||||
<corners android:radius="@dimen/default_widget_padding"></corners>
|
||||
<stroke android:width="1.1dp" android:color="@color/cvm_red" />
|
||||
</shape>
|
||||
</item>
|
||||
@@ -36,7 +36,7 @@
|
||||
<shape>
|
||||
<padding android:bottom="@dimen/default_widget_padding" android:left="@dimen/default_widget_padding" android:right="@dimen/default_widget_padding" android:top="@dimen/default_widget_padding"></padding>
|
||||
<solid android:color="@color/transp" />
|
||||
<corners android:radius="@dimen/default_btn_corner"></corners>
|
||||
<corners android:radius="@dimen/default_widget_padding"></corners>
|
||||
<stroke android:width="1.1dp" android:color="@color/colorPrimary" />
|
||||
</shape>
|
||||
</item>
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<selector xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<item android:state_enabled="false">
|
||||
<shape>
|
||||
<padding android:bottom="2dp" android:left="@dimen/default_widget_padding" android:right="@dimen/default_widget_padding" android:top="2dp"></padding>
|
||||
<solid android:color="@color/cv_gray_153" />
|
||||
<corners android:radius="@dimen/default_btn_corner"></corners>
|
||||
<stroke android:width="1.1dp" android:color="@color/cv_gray_153" />
|
||||
</shape>
|
||||
</item>
|
||||
<item android:state_pressed="true">
|
||||
<shape>
|
||||
<padding android:bottom="2dp" android:left="@dimen/default_widget_padding" android:right="@dimen/default_widget_padding" android:top="2dp"></padding>
|
||||
<solid android:color="@color/white" />
|
||||
<corners android:radius="@dimen/default_btn_corner"></corners>
|
||||
<stroke android:width="1.1dp" android:color="@color/colorSecondary" />
|
||||
</shape>
|
||||
</item>
|
||||
<item android:state_checked="true">
|
||||
<shape>
|
||||
<padding android:bottom="2dp" android:left="@dimen/default_widget_padding" android:right="@dimen/default_widget_padding" android:top="2dp"></padding>
|
||||
<solid android:color="@color/white" />
|
||||
<corners android:radius="@dimen/default_btn_corner"></corners>
|
||||
<stroke android:width="1.1dp" android:color="@color/colorSecondary" />
|
||||
</shape>
|
||||
</item>
|
||||
<item android:state_selected="true">
|
||||
<shape>
|
||||
<padding android:bottom="2dp" android:left="@dimen/default_widget_padding" android:right="@dimen/default_widget_padding" android:top="2dp"></padding>
|
||||
<solid android:color="@color/cvm_red" />
|
||||
<corners android:radius="@dimen/default_btn_corner"></corners>
|
||||
<stroke android:width="1.1dp" android:color="@color/cvm_red" />
|
||||
</shape>
|
||||
</item>
|
||||
<item>
|
||||
<shape>
|
||||
<padding android:bottom="@dimen/default_widget_padding" android:left="@dimen/default_widget_padding" android:right="@dimen/default_widget_padding" android:top="@dimen/default_widget_padding"></padding>
|
||||
<solid android:color="@color/transp" />
|
||||
<corners android:radius="@dimen/default_btn_corner"></corners>
|
||||
<stroke android:width="1.1dp" android:color="@color/colorPrimary" />
|
||||
</shape>
|
||||
</item>
|
||||
|
||||
</selector>
|
||||
@@ -4,7 +4,7 @@
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/ivory"
|
||||
android:background="@color/white"
|
||||
android:paddingLeft="10dp"
|
||||
android:paddingTop="5dp"
|
||||
android:paddingRight="10dp"
|
||||
@@ -32,7 +32,7 @@
|
||||
|
||||
<TextView
|
||||
android:id="@+id/offline_map_download_btn"
|
||||
style="@style/map_download_style_btn"
|
||||
style="@style/btn_default_stroke_horizontal_round"
|
||||
android:layout_width="60dp"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_gravity="center_vertical"
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
android:id="@+id/qs_record_index"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:drawableLeft="@mipmap/marker"
|
||||
android:drawableLeft="@mipmap/marker2"
|
||||
android:maxLength="3"
|
||||
android:text=""
|
||||
android:layout_marginRight="@dimen/default_widget_padding"
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@color/ivory"
|
||||
android:background="@color/white"
|
||||
android:paddingLeft="10dp"
|
||||
android:paddingTop="5dp"
|
||||
android:paddingRight="10dp"
|
||||
@@ -58,7 +58,7 @@
|
||||
|
||||
<TextView
|
||||
android:id="@+id/task_download_btn"
|
||||
style="@style/map_download_style_btn"
|
||||
style="@style/btn_default_stroke_horizontal_round"
|
||||
android:layout_width="60dp"
|
||||
android:layout_alignParentRight="true"
|
||||
android:layout_centerVertical="true"
|
||||
@@ -69,7 +69,7 @@
|
||||
|
||||
<TextView
|
||||
android:id="@+id/task_upload_btn"
|
||||
style="@style/map_download_style_btn"
|
||||
style="@style/btn_default_stroke_horizontal_round"
|
||||
android:layout_width="wrap_content"
|
||||
android:minWidth="60dp"
|
||||
android:layout_centerVertical="true"
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:gravity="center"
|
||||
android:background="@drawable/drawable_bg_blue_frame_black_bg_4_radius"
|
||||
android:background="@drawable/drawable_bg_blue_frame_white_bg_4_radius"
|
||||
android:orientation="horizontal"
|
||||
>
|
||||
<ImageView
|
||||
|
||||
@@ -107,6 +107,19 @@
|
||||
<item name="android:textSize">15sp</item>
|
||||
</style>
|
||||
|
||||
<style name="btn_default_stroke_horizontal_round" comment="左右为圆角的按钮" parent="ThemeOverlay.Material3.AutoCompleteTextView">
|
||||
<item name="android:layout_width">wrap_content</item>
|
||||
<item name="android:layout_height">wrap_content</item>
|
||||
<item name="android:layout_gravity">center_vertical</item>
|
||||
<item name="android:paddingHorizontal">@dimen/default_widget_padding</item>
|
||||
<item name="android:paddingVertical">5dp</item>
|
||||
<item name="android:background">@drawable/selector_horizontal_round_corner_bg</item>
|
||||
<item name="android:foreground">@drawable/ripple_btn_press</item>
|
||||
<item name="android:gravity">center_horizontal</item>
|
||||
<item name="android:textColor">@color/selector_default_primary_press_secondary</item>
|
||||
<item name="android:textSize">15sp</item>
|
||||
</style>
|
||||
|
||||
<!-- 默认按钮样式 -->
|
||||
<style name="btn_default_style" parent="content_font_default">
|
||||
<item name="android:textColor">@color/btn_select_color</item>
|
||||
|
||||