1、增加问题列表显示2、重构常量函数3、增加常用颜色常量
This commit is contained in:
@@ -1,8 +1,11 @@
|
||||
package com.navinfo.omqs
|
||||
|
||||
import androidx.core.util.rangeTo
|
||||
import io.realm.Realm
|
||||
import java.util.*
|
||||
|
||||
class Constant {
|
||||
|
||||
companion object {
|
||||
/**
|
||||
* sd卡根目录
|
||||
@@ -19,6 +22,19 @@ class Constant {
|
||||
*/
|
||||
lateinit var DATA_PATH: String
|
||||
|
||||
/**
|
||||
* 用户id
|
||||
*/
|
||||
lateinit var USER_ID: String
|
||||
|
||||
//数据版本
|
||||
lateinit var VERSION_ID: String
|
||||
|
||||
/**
|
||||
* 用户数据目录
|
||||
*/
|
||||
lateinit var USER_DATA_PATH: String
|
||||
|
||||
/**
|
||||
* 离线地图目录
|
||||
*/
|
||||
@@ -36,7 +52,28 @@ class Constant {
|
||||
const val message_version_right_off = "1" //立即发送
|
||||
|
||||
const val MESSAGE_PAGE_SIZE = 30 //消息列表一页最多数量
|
||||
|
||||
lateinit var realm: Realm
|
||||
|
||||
//选择相机默认或者外设
|
||||
const val SELECT_CAMERA_STATE = "select_camera_state"
|
||||
|
||||
//是否连接
|
||||
const val CAMERA_CONNECT_STATE = "camera_connect_state"
|
||||
|
||||
//是否可以点击
|
||||
const val CAMERA_CLICK_STATE = "camera_click_state"
|
||||
|
||||
//拍照模式
|
||||
const val TAKE_CAMERA_MODE = "take_camera_mode"
|
||||
|
||||
const val TAKE_CAMERA_IP = "take_camera_ip"
|
||||
|
||||
const val TAKE_CAMERA_MAC = "take_camera_mac"
|
||||
|
||||
//选择拍照或者录像
|
||||
const val SELECT_TAKEPHOTO_OR_RECORD = "select_takephoto_or_record"
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,16 +1,11 @@
|
||||
package com.navinfo.omqs
|
||||
|
||||
import android.app.Application
|
||||
import android.util.Log
|
||||
import com.navinfo.omqs.db.MyRealmModule
|
||||
import com.navinfo.omqs.tools.FileManager
|
||||
import com.navinfo.omqs.ui.manager.TakePhotoManager
|
||||
import com.navinfo.omqs.util.NetUtils
|
||||
import dagger.hilt.android.HiltAndroidApp
|
||||
import org.videolan.vlc.Util
|
||||
import io.realm.Realm
|
||||
import io.realm.RealmConfiguration
|
||||
import java.io.File
|
||||
import java.security.MessageDigest
|
||||
|
||||
@HiltAndroidApp
|
||||
|
||||
@@ -2,7 +2,6 @@ package com.navinfo.omqs.bean
|
||||
|
||||
import com.google.gson.annotations.SerializedName
|
||||
import com.navinfo.omqs.Constant
|
||||
import com.navinfo.omqs.system.SystemConstant
|
||||
import com.navinfo.omqs.tools.FileManager.Companion.FileDownloadStatus
|
||||
import io.realm.RealmList
|
||||
import io.realm.RealmObject
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
package com.navinfo.omqs.system;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* 系统变量对象
|
||||
*/
|
||||
public class SystemConstant {
|
||||
|
||||
public static String USER_ID = "1";
|
||||
|
||||
//选择相机默认或者外设
|
||||
public static String SELECT_CAMERA_STATE = "select_camera_state";
|
||||
//是否连接
|
||||
public static String CAMERA_CONNECT_STATE = "camera_connect_state";
|
||||
//是否可以点击
|
||||
public static String CAMERA_CLICK_STATE = "camera_click_state";
|
||||
//拍照模式
|
||||
public static String TAKE_CAMERA_MODE = "take_camera_mode";
|
||||
|
||||
public static String TAKE_CAMERA_IP = "take_camera_ip";
|
||||
|
||||
public static String TAKE_CAMERA_MAC = "take_camera_mac";
|
||||
|
||||
|
||||
//选择拍照或者录像
|
||||
public static String SELECT_TAKEPHOTO_OR_RECORD = "select_takephoto_or_record";
|
||||
|
||||
/**
|
||||
* 获取uuid
|
||||
* @param isUpperCase
|
||||
* true 大写 false 小写
|
||||
*/
|
||||
public static String getUuid(boolean isUpperCase){
|
||||
String uuid = UUID.randomUUID().toString().replaceAll("-", "");
|
||||
if(isUpperCase)
|
||||
uuid = uuid.toUpperCase();
|
||||
|
||||
return uuid;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -17,8 +17,8 @@ import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
import io.realm.Realm
|
||||
import io.realm.RealmConfiguration
|
||||
import kotlinx.coroutines.*
|
||||
import okio.IOException
|
||||
import java.io.File
|
||||
import java.io.IOException
|
||||
import javax.inject.Inject
|
||||
|
||||
enum class LoginStatus {
|
||||
@@ -153,8 +153,10 @@ class LoginViewModel @Inject constructor(
|
||||
/**
|
||||
* 创建用户目录
|
||||
*/
|
||||
@Throws(IOException::class)
|
||||
private fun createUserFolder(context: Context, userId: String) {
|
||||
Constant.USER_ID = userId
|
||||
Constant.VERSION_ID = userId
|
||||
Constant.USER_DATA_PATH = Constant.DATA_PATH + Constant.USER_ID + "/" + Constant.VERSION_ID
|
||||
// 在SD卡创建用户目录,解压资源等
|
||||
// 初始化Realm
|
||||
Realm.init(context.applicationContext)
|
||||
|
||||
@@ -14,10 +14,7 @@ import com.navinfo.omqs.Constant
|
||||
import com.navinfo.omqs.R
|
||||
import com.navinfo.omqs.databinding.ActivityMainBinding
|
||||
import com.navinfo.omqs.http.offlinemapdownload.OfflineMapDownloadManager
|
||||
import com.navinfo.omqs.system.SystemConstant
|
||||
import com.navinfo.omqs.ui.activity.BaseActivity
|
||||
import com.navinfo.omqs.ui.fragment.evaluationresult.EvaluationResultFragment
|
||||
import com.navinfo.omqs.ui.fragment.evaluationresult.EvaluationResultViewModel
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import javax.inject.Inject
|
||||
|
||||
@@ -48,7 +45,7 @@ class MainActivity : BaseActivity() {
|
||||
binding.mainActivityMap,
|
||||
null,
|
||||
Constant.MAP_PATH,
|
||||
Constant.DATA_PATH+ SystemConstant.USER_ID+"/trace.sqlite"
|
||||
Constant.USER_DATA_PATH+"/trace.sqlite"
|
||||
)
|
||||
//关联生命周期
|
||||
binding.lifecycleOwner = this
|
||||
|
||||
@@ -16,7 +16,6 @@ import com.navinfo.collect.library.utils.GeometryTools
|
||||
import com.navinfo.collect.library.utils.GeometryToolsKt
|
||||
import com.navinfo.omqs.Constant
|
||||
import com.navinfo.omqs.R
|
||||
import com.navinfo.omqs.system.SystemConstant
|
||||
import com.navinfo.omqs.ui.dialog.CommonDialog
|
||||
import com.navinfo.omqs.ui.manager.TakePhotoManager
|
||||
import dagger.hilt.android.lifecycle.HiltViewModel
|
||||
@@ -122,7 +121,7 @@ class MainViewModel @Inject constructor(
|
||||
|
||||
TraceDataBase.getDatabase(
|
||||
context,
|
||||
Constant.DATA_PATH + SystemConstant.USER_ID + "/trace.sqlite"
|
||||
Constant.USER_DATA_PATH + "/trace.sqlite"
|
||||
).niLocationDao.insert(niLocation)
|
||||
niLocationList.removeAt(0)
|
||||
Log.e("qj", "saveTrace")
|
||||
|
||||
@@ -36,11 +36,10 @@ import com.navinfo.collect.library.garminvirbxe.SensorParams;
|
||||
import com.navinfo.collect.library.garminvirbxe.HostBean;
|
||||
import com.navinfo.omqs.Constant;
|
||||
import com.navinfo.omqs.R;
|
||||
import com.navinfo.omqs.system.SystemConstant;
|
||||
import com.navinfo.omqs.system.SystemDateTime;
|
||||
import com.navinfo.omqs.ui.activity.map.MainActivity;
|
||||
import com.navinfo.omqs.ui.manager.TakePhotoManager;
|
||||
import com.navinfo.omqs.ui.other.BaseToast;
|
||||
import com.navinfo.omqs.util.DateTimeUtil;
|
||||
import com.navinfo.omqs.util.FileUtils;
|
||||
import com.navinfo.omqs.util.NetUtils;
|
||||
import com.navinfo.omqs.util.ShareUtil;
|
||||
@@ -282,13 +281,13 @@ public class CommonDialog extends Dialog implements SurfaceHolder.Callback, IVid
|
||||
|
||||
Log.e("AAA", "连接中");
|
||||
connectstate = false;
|
||||
mShareUtil.setConnectstate(SystemConstant.USER_ID, connectstate);
|
||||
mShareUtil.setConnectstate(Constant.USER_ID, connectstate);
|
||||
mOneBtConnect.setText("连接中");
|
||||
updateCameraResources(2, getmDeviceNum());
|
||||
|
||||
} else {
|
||||
connectstate = false;
|
||||
mShareUtil.setConnectstate(SystemConstant.USER_ID, connectstate);
|
||||
mShareUtil.setConnectstate(Constant.USER_ID, connectstate);
|
||||
click_state = true;
|
||||
|
||||
mOneBtConnect.setEnabled(click_state);
|
||||
@@ -357,11 +356,11 @@ public class CommonDialog extends Dialog implements SurfaceHolder.Callback, IVid
|
||||
|
||||
Message msg = new Message();
|
||||
|
||||
String picPath = Constant.DATA_PATH + "/" + SystemConstant.USER_ID + "/pic.jpg";
|
||||
String picPath = Constant.DATA_PATH + "/" + Constant.USER_ID + "/pic.jpg";
|
||||
|
||||
//创建目录
|
||||
if(!new File(Constant.DATA_PATH + "/" + SystemConstant.USER_ID).exists()){
|
||||
new File(Constant.DATA_PATH + "/" + SystemConstant.USER_ID).mkdirs();
|
||||
if(!new File(Constant.DATA_PATH + "/" + Constant.USER_ID).exists()){
|
||||
new File(Constant.DATA_PATH + "/" + Constant.USER_ID).mkdirs();
|
||||
}
|
||||
|
||||
//多次获取照片信息,解决概率事件无法获取有效照片问题
|
||||
@@ -376,7 +375,7 @@ public class CommonDialog extends Dialog implements SurfaceHolder.Callback, IVid
|
||||
|
||||
Log.e("AAA", "获取单张拍照时间" + time+"次数"+i);
|
||||
if (!TextUtils.isEmpty(time)) {
|
||||
long picTime = SystemDateTime.getPicTime(time);
|
||||
long picTime = DateTimeUtil.getPicTime(time);
|
||||
|
||||
long disTime = mStartCheckTime - picTime / 1000;
|
||||
|
||||
@@ -482,7 +481,7 @@ public class CommonDialog extends Dialog implements SurfaceHolder.Callback, IVid
|
||||
|
||||
updateCameraResources(0, getmDeviceNum());
|
||||
connectstate = true;
|
||||
mShareUtil.setConnectstate(SystemConstant.USER_ID, connectstate);
|
||||
mShareUtil.setConnectstate(Constant.USER_ID, connectstate);
|
||||
stopVideo();
|
||||
mOneBtConnect.setPressed(true);
|
||||
mOneBtConnect.setBackgroundResource(R.drawable.btn_red_disconnect_bg);
|
||||
@@ -614,7 +613,7 @@ public class CommonDialog extends Dialog implements SurfaceHolder.Callback, IVid
|
||||
mGpsTv.setText("相机GPS信号差,请稍等片刻,或将相机移到开发地带。");
|
||||
mGpsTv.setVisibility(View.VISIBLE);
|
||||
mStartOrEndTakePicture.setEnabled(status);
|
||||
mShareUtil.setContinusTakePhotoState(SystemConstant.USER_ID, true);
|
||||
mShareUtil.setContinusTakePhotoState(Constant.USER_ID, true);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -778,7 +777,7 @@ public class CommonDialog extends Dialog implements SurfaceHolder.Callback, IVid
|
||||
ImageView ivStatus = (ImageView) findViewById(resId);
|
||||
|
||||
if (ivStatus != null) {
|
||||
String time = SystemDateTime.getDateSimpleTime(SystemDateTime.getTimeInfo(SystemDateTime.getTime()) - 0/*MainActivity.disGoogleTime*/);
|
||||
String time = DateTimeUtil.getDateSimpleTime(DateTimeUtil.getTimeInfo(DateTimeUtil.getTime()) - 0/*MainActivity.disGoogleTime*/);
|
||||
|
||||
ivStatus.setImageDrawable(null);
|
||||
|
||||
@@ -810,7 +809,7 @@ public class CommonDialog extends Dialog implements SurfaceHolder.Callback, IVid
|
||||
if (connectstate) {
|
||||
|
||||
Log.i("chentao", "打开/结束连拍:" + arg1);
|
||||
mShareUtil.setContinusTakePhotoState(SystemConstant.USER_ID, arg1);
|
||||
mShareUtil.setContinusTakePhotoState(Constant.USER_ID, arg1);
|
||||
|
||||
if (!arg1) {
|
||||
|
||||
@@ -829,7 +828,7 @@ public class CommonDialog extends Dialog implements SurfaceHolder.Callback, IVid
|
||||
|
||||
mStartOrEndTakePicture.setChecked(true);
|
||||
|
||||
mShareUtil.setContinusTakePhotoState(SystemConstant.USER_ID, true);
|
||||
mShareUtil.setContinusTakePhotoState(Constant.USER_ID, true);
|
||||
|
||||
BaseToast.makeText(context, "外接相机没有连接成功!不能进行连续拍照!", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
@@ -845,9 +844,9 @@ public class CommonDialog extends Dialog implements SurfaceHolder.Callback, IVid
|
||||
|
||||
connectstate = false;
|
||||
|
||||
mShareUtil.setContinusTakePhotoState(SystemConstant.USER_ID, true);
|
||||
mShareUtil.setContinusTakePhotoState(Constant.USER_ID, true);
|
||||
|
||||
mShareUtil.setConnectstate(SystemConstant.USER_ID, connectstate);
|
||||
mShareUtil.setConnectstate(Constant.USER_ID, connectstate);
|
||||
|
||||
mStartOrEndTakePicture.setChecked(true);
|
||||
|
||||
@@ -908,10 +907,10 @@ public class CommonDialog extends Dialog implements SurfaceHolder.Callback, IVid
|
||||
public void onCheckedChanged(CompoundButton arg0, boolean arg1) {
|
||||
if (connectstate) {
|
||||
Log.i("chentao", "选择相机:" + arg1);
|
||||
mShareUtil.setSelectCameraKind(SystemConstant.USER_ID, arg1);
|
||||
mShareUtil.setSelectCameraKind(Constant.USER_ID, arg1);
|
||||
} else {
|
||||
mSelectCamera.setChecked(false);
|
||||
mShareUtil.setSelectCameraKind(SystemConstant.USER_ID, false);
|
||||
mShareUtil.setSelectCameraKind(Constant.USER_ID, false);
|
||||
BaseToast.makeText(context, "外接相机没有连接成功!只能使用系统相机,谢谢!", Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
}
|
||||
@@ -962,7 +961,7 @@ public class CommonDialog extends Dialog implements SurfaceHolder.Callback, IVid
|
||||
}
|
||||
|
||||
//重置拍照按钮
|
||||
mShareUtil.setContinusTakePhotoState(SystemConstant.USER_ID, true);
|
||||
mShareUtil.setContinusTakePhotoState(Constant.USER_ID, true);
|
||||
}
|
||||
|
||||
//设置另外一台相机状态
|
||||
@@ -980,11 +979,11 @@ public class CommonDialog extends Dialog implements SurfaceHolder.Callback, IVid
|
||||
|
||||
}
|
||||
|
||||
shareUtilOther.setSelectTakePhotoOrRecord(SystemConstant.USER_ID, !isCheck);
|
||||
shareUtilOther.setSelectTakePhotoOrRecord(Constant.USER_ID, !isCheck);
|
||||
|
||||
shareUtilOther.setContinusTakePhotoState(SystemConstant.USER_ID, true);
|
||||
shareUtilOther.setContinusTakePhotoState(Constant.USER_ID, true);
|
||||
|
||||
mShareUtil.setSelectTakePhotoOrRecord(SystemConstant.USER_ID, isCheck);
|
||||
mShareUtil.setSelectTakePhotoOrRecord(Constant.USER_ID, isCheck);
|
||||
|
||||
if (isCheck) {
|
||||
|
||||
@@ -993,18 +992,18 @@ public class CommonDialog extends Dialog implements SurfaceHolder.Callback, IVid
|
||||
|
||||
takephotoManager.setCameraMode(getmDeviceNum(), SensorWorkingMode.CAMERA_VEDIO_TIMELAPSE);
|
||||
|
||||
mShareUtil.setTakeCameraMode(SystemConstant.USER_ID, 0);
|
||||
mShareUtil.setTakeCameraMode(Constant.USER_ID, 0);
|
||||
|
||||
shareUtilOther.setTakeCameraMode(SystemConstant.USER_ID, 1);
|
||||
shareUtilOther.setTakeCameraMode(Constant.USER_ID, 1);
|
||||
|
||||
} else {
|
||||
|
||||
mTakePhotoOrRecord.setText("拍照");
|
||||
setmImgViewImageDrawable(1);
|
||||
|
||||
mShareUtil.setTakeCameraMode(SystemConstant.USER_ID, 1);
|
||||
mShareUtil.setTakeCameraMode(Constant.USER_ID, 1);
|
||||
|
||||
shareUtilOther.setTakeCameraMode(SystemConstant.USER_ID, 0);
|
||||
shareUtilOther.setTakeCameraMode(Constant.USER_ID, 0);
|
||||
|
||||
takephotoManager.setCameraMode(getmDeviceNum(), SensorWorkingMode.CAMEAR_PHOTO_CONTINUOUS_PHOTO);
|
||||
|
||||
@@ -1074,7 +1073,7 @@ public class CommonDialog extends Dialog implements SurfaceHolder.Callback, IVid
|
||||
BaseToast.makeText(context, TextUtils.isEmpty(msg) ? "相机丢失连接,请检查网络是否畅通!" : msg, Toast.LENGTH_SHORT).show();
|
||||
|
||||
connectstate = false;
|
||||
mShareUtil.setConnectstate(SystemConstant.USER_ID, connectstate);
|
||||
mShareUtil.setConnectstate(Constant.USER_ID, connectstate);
|
||||
mOneBtConnect.setPressed(false);
|
||||
mOneBtConnect.setBackgroundResource(R.drawable.btn_connect_bg_enabled);
|
||||
mOneBtConnect.setText("一键连接");
|
||||
@@ -1536,9 +1535,9 @@ public class CommonDialog extends Dialog implements SurfaceHolder.Callback, IVid
|
||||
|
||||
mHostBean = hostBean;
|
||||
|
||||
mShareUtil.setTakeCameraIP(SystemConstant.USER_ID, hostBean.ipAddress.toString());
|
||||
mShareUtil.setTakeCameraIP(Constant.USER_ID, hostBean.ipAddress.toString());
|
||||
|
||||
mShareUtil.setTakeCameraMac(SystemConstant.USER_ID, hostBean.hardwareAddress.toString());
|
||||
mShareUtil.setTakeCameraMac(Constant.USER_ID, hostBean.hardwareAddress.toString());
|
||||
|
||||
takephotoManager.connect(getmDeviceNum(), hostBean, params);
|
||||
}
|
||||
|
||||
@@ -50,10 +50,14 @@ class QsRecordListAdapter(
|
||||
}
|
||||
|
||||
private fun changeViews(binding: AdapterQsRecordListBinding, qsRecordBean: QsRecordBean) {
|
||||
binding.qsRecordClassType.text = qsRecordBean.classType
|
||||
binding.qsRecordProblemType.text = qsRecordBean.problemType
|
||||
binding.qsRecordPhenomenon.text = qsRecordBean.phenomenon
|
||||
binding.qsRecordProblemLink.text = qsRecordBean.problemLink
|
||||
}
|
||||
|
||||
override fun getItemViewRes(position: Int): Int {
|
||||
return R.layout.adapter_offline_map_city
|
||||
return R.layout.adapter_qs_record_list
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,11 +5,16 @@ import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import androidx.fragment.app.viewModels
|
||||
import androidx.recyclerview.widget.DividerItemDecoration
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView.VERTICAL
|
||||
import com.navinfo.omqs.R
|
||||
import com.navinfo.omqs.databinding.FragmentQsRecordListBinding
|
||||
import com.navinfo.omqs.ui.fragment.BaseFragment
|
||||
import com.navinfo.omqs.ui.fragment.tasklist.QsRecordListAdapter
|
||||
import com.navinfo.omqs.ui.widget.RecycleViewDivider
|
||||
import dagger.hilt.android.AndroidEntryPoint
|
||||
import org.apache.poi.xwpf.usermodel.VerticalAlign
|
||||
import javax.inject.Inject
|
||||
|
||||
@AndroidEntryPoint
|
||||
@@ -42,6 +47,9 @@ class QsRecordListFragment : BaseFragment(){
|
||||
viewModel.liveDataQSList.observe(viewLifecycleOwner) {
|
||||
adapter.refreshData(it)
|
||||
}
|
||||
val itemDecoration = DividerItemDecoration(context, DividerItemDecoration.VERTICAL)
|
||||
itemDecoration.setDrawable(resources.getDrawable(R.drawable.separator))
|
||||
binding.qsRecyclerview.addItemDecoration(itemDecoration)
|
||||
viewModel.getList(requireContext())
|
||||
}
|
||||
|
||||
|
||||
@@ -16,9 +16,9 @@ import com.navinfo.collect.library.sensor.ISensor.SensorWorkingMode;
|
||||
import com.navinfo.collect.library.sensor.ISensor.enmSensorType;
|
||||
import com.navinfo.collect.library.sensor.ISensor.enmSignalQuality;
|
||||
import com.navinfo.collect.library.sensor.SensorManager;
|
||||
import com.navinfo.omqs.system.SystemConstant;
|
||||
import com.navinfo.collect.library.utils.StringUtil;
|
||||
import com.navinfo.omqs.Constant;
|
||||
import com.navinfo.omqs.util.ShareUtil;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
@@ -392,7 +392,7 @@ public class TakePhotoManager {
|
||||
|
||||
setCameraMode(indexClent, SensorWorkingMode.CAMERA_VEDIO_TIMELAPSE);
|
||||
|
||||
ShareUtil.getCameraMode(mCon).setContinusTakePhotoState(SystemConstant.USER_ID, false);
|
||||
ShareUtil.getCameraMode(mCon).setContinusTakePhotoState(Constant.USER_ID, false);
|
||||
|
||||
StartRecording(hostBean, indexClent);
|
||||
|
||||
@@ -405,7 +405,7 @@ public class TakePhotoManager {
|
||||
if (hostBean != null) {
|
||||
CameraGarminVirbXE cameraGarminVirbXE = findCameraGarminVirbXE(hostBean, index);
|
||||
if (cameraGarminVirbXE != null) {
|
||||
cameraGarminVirbXE.snapPicture(SystemConstant.getUuid(true));
|
||||
cameraGarminVirbXE.snapPicture(StringUtil.Companion.createUUID());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,144 @@
|
||||
package com.navinfo.omqs.ui.widget
|
||||
|
||||
import android.content.Context
|
||||
import android.graphics.Canvas
|
||||
import android.graphics.Paint
|
||||
import android.graphics.Rect
|
||||
import android.graphics.drawable.Drawable
|
||||
import android.view.View
|
||||
import androidx.core.content.ContextCompat
|
||||
import androidx.recyclerview.widget.DividerItemDecoration
|
||||
import androidx.recyclerview.widget.LinearLayoutManager
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
|
||||
/**
|
||||
* Create by --- on 2018/12/6 0006.
|
||||
*@description:
|
||||
*/
|
||||
/**
|
||||
* 默认分割线:高度为2px,颜色为灰色
|
||||
*
|
||||
* @param context
|
||||
* @param orientation 列表方向 LinearLayoutManager.VERTICAL或LinearLayoutManager.HORIZONTAL
|
||||
*/
|
||||
class RecycleViewDivider(context: Context, private val mOrientation: Int) : RecyclerView.ItemDecoration() {
|
||||
|
||||
private var mPaint: Paint? = null
|
||||
private var mDivider: Drawable? = null
|
||||
private var mDividerHeight = 2//分割线高度,默认为1px
|
||||
|
||||
init {
|
||||
if (mOrientation != LinearLayoutManager.VERTICAL && mOrientation != LinearLayoutManager.HORIZONTAL) {
|
||||
throw IllegalArgumentException("请输入正确的参数!")
|
||||
}
|
||||
|
||||
val a = context.obtainStyledAttributes(ATTRS)
|
||||
mDivider = a.getDrawable(0)
|
||||
a.recycle()
|
||||
}
|
||||
|
||||
/**
|
||||
* 自定义分割线
|
||||
*
|
||||
* @param context
|
||||
* @param orientation 列表方向
|
||||
* @param drawableId 分割线图片
|
||||
*/
|
||||
constructor(context: Context, orientation: Int, drawableId: Int) : this(context, orientation) {
|
||||
mDivider = ContextCompat.getDrawable(context, drawableId)
|
||||
mDividerHeight = mDivider!!.intrinsicHeight
|
||||
}
|
||||
|
||||
/**
|
||||
* 自定义分割线
|
||||
*
|
||||
* @param context
|
||||
* @param orientation 列表方向
|
||||
* @param dividerHeight 分割线高度
|
||||
* @param dividerColor 分割线颜色
|
||||
*/
|
||||
constructor(context: Context, orientation: Int, dividerHeight: Int, dividerColor: Int) : this(
|
||||
context,
|
||||
orientation
|
||||
) {
|
||||
mDividerHeight = dividerHeight
|
||||
mPaint = Paint(Paint.ANTI_ALIAS_FLAG)
|
||||
mPaint!!.color = dividerColor
|
||||
mPaint!!.style = Paint.Style.FILL
|
||||
}
|
||||
|
||||
|
||||
//获取分割线尺寸
|
||||
override fun getItemOffsets(outRect: Rect, view: View, parent: RecyclerView, state: RecyclerView.State) {
|
||||
super.getItemOffsets(outRect, view, parent, state)
|
||||
if (mOrientation == LinearLayoutManager.VERTICAL) {
|
||||
outRect.set(0, 0, 0, mDividerHeight)
|
||||
} else {
|
||||
outRect.set(0, 0, mDividerHeight, 0)
|
||||
}
|
||||
}
|
||||
|
||||
//绘制分割线
|
||||
override fun onDraw(c: Canvas, parent: RecyclerView, state: RecyclerView.State) {
|
||||
super.onDraw(c, parent, state)
|
||||
if (mOrientation == LinearLayoutManager.VERTICAL) {
|
||||
drawVertical(c, parent)
|
||||
} else {
|
||||
drawHorizontal(c, parent)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 绘制纵向列表时的分隔线 这时分隔线是横着的
|
||||
* 每次 left相同,top根据child变化,right相同,bottom也变化
|
||||
* @param canvas
|
||||
* @param parent
|
||||
*/
|
||||
private fun drawVertical(canvas: Canvas, parent: RecyclerView) {
|
||||
val left = parent.paddingLeft
|
||||
val right = parent.measuredWidth - parent.paddingRight
|
||||
val childSize = parent.childCount
|
||||
for (i in 0 until childSize) {
|
||||
val child = parent.getChildAt(i)
|
||||
val layoutParams = child.layoutParams as RecyclerView.LayoutParams
|
||||
val top = child.bottom + layoutParams.bottomMargin
|
||||
val bottom = top + mDividerHeight
|
||||
if (mDivider != null) {
|
||||
mDivider!!.setBounds(left, top, right, bottom)
|
||||
mDivider!!.draw(canvas)
|
||||
}
|
||||
if (mPaint != null) {
|
||||
canvas.drawRect(left.toFloat(), top.toFloat(), right.toFloat(), bottom.toFloat(), mPaint!!)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 绘制横向列表时的分隔线 这时分隔线是竖着的
|
||||
* l、r 变化; t、b 不变
|
||||
* @param canvas
|
||||
* @param parent
|
||||
*/
|
||||
private fun drawHorizontal(canvas: Canvas, parent: RecyclerView) {
|
||||
val top = parent.paddingTop
|
||||
val bottom = parent.measuredHeight - parent.paddingBottom
|
||||
val childSize = parent.childCount
|
||||
for (i in 0 until childSize) {
|
||||
val child = parent.getChildAt(i)
|
||||
val layoutParams = child.layoutParams as RecyclerView.LayoutParams
|
||||
val left = child.right + layoutParams.rightMargin
|
||||
val right = left + mDividerHeight
|
||||
if (mDivider != null) {
|
||||
mDivider!!.setBounds(left, top, right, bottom)
|
||||
mDivider!!.draw(canvas)
|
||||
}
|
||||
if (mPaint != null) {
|
||||
canvas.drawRect(left.toFloat(), top.toFloat(), right.toFloat(), bottom.toFloat(), mPaint!!)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
companion object {
|
||||
private val ATTRS = intArrayOf(android.R.attr.listDivider)
|
||||
}
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package com.navinfo.omqs.system;
|
||||
package com.navinfo.omqs.util;
|
||||
|
||||
import java.text.ParseException;
|
||||
import java.text.ParsePosition;
|
||||
@@ -13,7 +13,7 @@ import java.util.Date;
|
||||
* @Date 2023年4月17日 下午1:56:02
|
||||
* @Description: 时间工具类
|
||||
*/
|
||||
public class SystemDateTime {
|
||||
public class DateTimeUtil {
|
||||
// 时间字符串
|
||||
private static String systemDate;
|
||||
// 全部时间信息
|
||||
@@ -3,7 +3,7 @@ package com.navinfo.omqs.util;
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
import android.content.SharedPreferences.Editor;
|
||||
import com.navinfo.omqs.system.SystemConstant;
|
||||
import com.navinfo.omqs.Constant;
|
||||
|
||||
/**
|
||||
* @ClassName: ShareUtil.java
|
||||
@@ -57,9 +57,9 @@ public class ShareUtil {
|
||||
return false;
|
||||
|
||||
if(mSharePre==null){
|
||||
mSharePre = mContext.getSharedPreferences(SystemConstant.SELECT_CAMERA_STATE, Context.MODE_PRIVATE);
|
||||
mSharePre = mContext.getSharedPreferences(Constant.SELECT_CAMERA_STATE, Context.MODE_PRIVATE);
|
||||
}
|
||||
return mSharePre.getBoolean(mDeviceNum+SystemConstant.USER_ID+SELECT_CAMERA_KIND, false);
|
||||
return mSharePre.getBoolean(mDeviceNum+Constant.USER_ID+SELECT_CAMERA_KIND, false);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -76,7 +76,7 @@ public class ShareUtil {
|
||||
return ;
|
||||
|
||||
if(mSharePre==null){
|
||||
mSharePre = mContext.getSharedPreferences(SystemConstant.SELECT_CAMERA_STATE, Context.MODE_PRIVATE);
|
||||
mSharePre = mContext.getSharedPreferences(Constant.SELECT_CAMERA_STATE, Context.MODE_PRIVATE);
|
||||
}
|
||||
|
||||
editor=mSharePre.edit();
|
||||
@@ -98,10 +98,10 @@ public class ShareUtil {
|
||||
return true;
|
||||
|
||||
if(mSharePre==null){
|
||||
mSharePre = mContext.getSharedPreferences(SystemConstant.SELECT_TAKEPHOTO_OR_RECORD, Context.MODE_PRIVATE);
|
||||
mSharePre = mContext.getSharedPreferences(Constant.SELECT_TAKEPHOTO_OR_RECORD, Context.MODE_PRIVATE);
|
||||
}
|
||||
|
||||
return mSharePre.getBoolean(mDeviceNum+SystemConstant.USER_ID+SELECT_TAKE_PHOTO_OR_RECORD, mDeviceNum==1?true:false);
|
||||
return mSharePre.getBoolean(mDeviceNum+Constant.USER_ID+SELECT_TAKE_PHOTO_OR_RECORD, mDeviceNum==1?true:false);
|
||||
|
||||
}
|
||||
|
||||
@@ -119,7 +119,7 @@ public class ShareUtil {
|
||||
return ;
|
||||
|
||||
if(mSharePre==null){
|
||||
mSharePre = mContext.getSharedPreferences(SystemConstant.SELECT_TAKEPHOTO_OR_RECORD, Context.MODE_PRIVATE);
|
||||
mSharePre = mContext.getSharedPreferences(Constant.SELECT_TAKEPHOTO_OR_RECORD, Context.MODE_PRIVATE);
|
||||
}
|
||||
editor=mSharePre.edit();
|
||||
|
||||
@@ -139,9 +139,9 @@ public class ShareUtil {
|
||||
return true;
|
||||
|
||||
if(mSharePre==null){
|
||||
mSharePre = mContext.getSharedPreferences(SystemConstant.SELECT_CAMERA_STATE, Context.MODE_PRIVATE);
|
||||
mSharePre = mContext.getSharedPreferences(Constant.SELECT_CAMERA_STATE, Context.MODE_PRIVATE);
|
||||
}
|
||||
return mSharePre.getBoolean(mDeviceNum+SystemConstant.USER_ID+CONTINUS_TAKE_PHOTO_STATE, true);
|
||||
return mSharePre.getBoolean(mDeviceNum+Constant.USER_ID+CONTINUS_TAKE_PHOTO_STATE, true);
|
||||
|
||||
}
|
||||
|
||||
@@ -159,7 +159,7 @@ public class ShareUtil {
|
||||
return ;
|
||||
|
||||
if(mSharePre==null){
|
||||
mSharePre = mContext.getSharedPreferences(SystemConstant.SELECT_CAMERA_STATE, Context.MODE_PRIVATE);
|
||||
mSharePre = mContext.getSharedPreferences(Constant.SELECT_CAMERA_STATE, Context.MODE_PRIVATE);
|
||||
}
|
||||
editor=mSharePre.edit();
|
||||
|
||||
@@ -178,9 +178,9 @@ public class ShareUtil {
|
||||
return false;
|
||||
|
||||
if(mSharePre==null){
|
||||
mSharePre = mContext.getSharedPreferences(SystemConstant.CAMERA_CONNECT_STATE, Context.MODE_PRIVATE);
|
||||
mSharePre = mContext.getSharedPreferences(Constant.CAMERA_CONNECT_STATE, Context.MODE_PRIVATE);
|
||||
}
|
||||
return mSharePre.getBoolean(mDeviceNum+SystemConstant.USER_ID+CAMERA_CONNECT_STATE, false);
|
||||
return mSharePre.getBoolean(mDeviceNum+Constant.USER_ID+CAMERA_CONNECT_STATE, false);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -197,7 +197,7 @@ public class ShareUtil {
|
||||
return ;
|
||||
|
||||
if(mSharePre==null){
|
||||
mSharePre = mContext.getSharedPreferences(SystemConstant.CAMERA_CONNECT_STATE, Context.MODE_PRIVATE);
|
||||
mSharePre = mContext.getSharedPreferences(Constant.CAMERA_CONNECT_STATE, Context.MODE_PRIVATE);
|
||||
}
|
||||
editor=mSharePre.edit();
|
||||
|
||||
@@ -216,10 +216,10 @@ public class ShareUtil {
|
||||
return 0;
|
||||
|
||||
if(mSharePre==null){
|
||||
mSharePre = mContext.getSharedPreferences(SystemConstant.TAKE_CAMERA_MODE, Context.MODE_PRIVATE);
|
||||
mSharePre = mContext.getSharedPreferences(Constant.TAKE_CAMERA_MODE, Context.MODE_PRIVATE);
|
||||
}
|
||||
|
||||
return mSharePre.getInt(mDeviceNum+SystemConstant.USER_ID+TAKE_CAMERA_MODE, mDeviceNum==1?0:1);
|
||||
return mSharePre.getInt(mDeviceNum+Constant.USER_ID+TAKE_CAMERA_MODE, mDeviceNum==1?0:1);
|
||||
|
||||
}
|
||||
|
||||
@@ -238,7 +238,7 @@ public class ShareUtil {
|
||||
|
||||
|
||||
if(mSharePre==null){
|
||||
mSharePre = mContext.getSharedPreferences(SystemConstant.TAKE_CAMERA_MODE, Context.MODE_PRIVATE);
|
||||
mSharePre = mContext.getSharedPreferences(Constant.TAKE_CAMERA_MODE, Context.MODE_PRIVATE);
|
||||
}
|
||||
editor=mSharePre.edit();
|
||||
|
||||
@@ -257,9 +257,9 @@ public class ShareUtil {
|
||||
return "";
|
||||
|
||||
if(mSharePre==null){
|
||||
mSharePre = mContext.getSharedPreferences(SystemConstant.TAKE_CAMERA_IP, Context.MODE_PRIVATE);
|
||||
mSharePre = mContext.getSharedPreferences(Constant.TAKE_CAMERA_IP, Context.MODE_PRIVATE);
|
||||
}
|
||||
String ip=mSharePre.getString(mDeviceNum+SystemConstant.USER_ID+TAKE_CAMERA_IP, "");
|
||||
String ip=mSharePre.getString(mDeviceNum+Constant.USER_ID+TAKE_CAMERA_IP, "");
|
||||
return ip;
|
||||
}
|
||||
|
||||
@@ -277,7 +277,7 @@ public class ShareUtil {
|
||||
return ;
|
||||
|
||||
if(mSharePre==null){
|
||||
mSharePre = mContext.getSharedPreferences(SystemConstant.TAKE_CAMERA_IP, Context.MODE_PRIVATE);
|
||||
mSharePre = mContext.getSharedPreferences(Constant.TAKE_CAMERA_IP, Context.MODE_PRIVATE);
|
||||
}
|
||||
|
||||
editor=mSharePre.edit();
|
||||
@@ -297,9 +297,9 @@ public class ShareUtil {
|
||||
return "";
|
||||
|
||||
if(mSharePre==null){
|
||||
mSharePre = mContext.getSharedPreferences(SystemConstant.TAKE_CAMERA_MAC, Context.MODE_PRIVATE);
|
||||
mSharePre = mContext.getSharedPreferences(Constant.TAKE_CAMERA_MAC, Context.MODE_PRIVATE);
|
||||
}
|
||||
String mac=mSharePre.getString(mDeviceNum+SystemConstant.USER_ID+TAKE_CAMERA_MAC, "");
|
||||
String mac=mSharePre.getString(mDeviceNum+Constant.USER_ID+TAKE_CAMERA_MAC, "");
|
||||
return mac;
|
||||
}
|
||||
|
||||
@@ -317,7 +317,7 @@ public class ShareUtil {
|
||||
return ;
|
||||
|
||||
if(mSharePre==null){
|
||||
mSharePre = mContext.getSharedPreferences(SystemConstant.TAKE_CAMERA_MAC, Context.MODE_PRIVATE);
|
||||
mSharePre = mContext.getSharedPreferences(Constant.TAKE_CAMERA_MAC, Context.MODE_PRIVATE);
|
||||
}
|
||||
|
||||
editor=mSharePre.edit();
|
||||
|
||||
Reference in New Issue
Block a user