diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/CloudActivity.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/CloudActivity.kt
index 7adc10e..e2901d5 100644
--- a/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/CloudActivity.kt
+++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/CloudActivity.kt
@@ -8,6 +8,7 @@ import com.yinuo.safetywatcher.databinding.ActivityCloudBinding
import com.yinuo.safetywatcher.watcher.base.NoOptionsActivity
import com.yinuo.safetywatcher.watcher.db.DBUtils
import com.yinuo.safetywatcher.watcher.net.api.UploadFileApi
+import com.yinuo.safetywatcher.watcher.ui.view.SyncDialog
import com.yinuo.safetywatcher.xls.utils.PathUtils
import kotlinx.coroutines.DelicateCoroutinesApi
import kotlinx.coroutines.GlobalScope
@@ -22,6 +23,10 @@ class CloudActivity : NoOptionsActivity() {
UploadFileApi()
}
+ private val syncDialog by lazy {
+ SyncDialog()
+ }
+
override fun getTopBarTitle(): String? {
return getString(R.string.cloud)
}
@@ -33,17 +38,24 @@ class CloudActivity : NoOptionsActivity() {
override fun initView() {
mBinding.apply {
syncSensor.setOnClickListener {
+ showDialog()
uploadSensorData()
}
syncVedio.setOnClickListener {
+ showDialog()
uploadVideo()
}
syncOnce.setOnClickListener {
+ showDialog()
uploadOnece()
}
}
}
+ private fun showDialog() {
+ syncDialog.showNow(supportFragmentManager, "sync")
+ }
+
private fun uploadOnece() {
uploadSensorData()
uploadVideo()
diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/view/CommonToast.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/view/CommonToast.kt
new file mode 100644
index 0000000..2778a88
--- /dev/null
+++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/view/CommonToast.kt
@@ -0,0 +1,32 @@
+package com.yinuo.safetywatcher.watcher.ui.view
+
+import android.content.Context
+import android.view.Gravity
+import android.view.LayoutInflater
+import android.widget.Toast
+import com.yinuo.safetywatcher.databinding.LayoutCommonToastBinding
+
+open class CommonToast(context: Context?) : Toast(context) {
+
+ var mBinding: LayoutCommonToastBinding? = null
+
+ init {
+ mBinding = LayoutCommonToastBinding.inflate(LayoutInflater.from(context), null, false)
+ view = mBinding!!.root
+ }
+
+ override fun setText(text: CharSequence) {
+ mBinding!!.tv.text = text
+ }
+
+ open fun makeCommonText(
+ context: Context,
+ text: CharSequence, duration: Int
+ ): Toast {
+ val result = CommonToast(context)
+ result.setText(text)
+ result.setGravity(Gravity.CENTER, 0, 0)
+ result.duration = duration
+ return result
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/view/SyncDialog.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/view/SyncDialog.kt
new file mode 100644
index 0000000..ca35ad3
--- /dev/null
+++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/ui/view/SyncDialog.kt
@@ -0,0 +1,41 @@
+package com.yinuo.safetywatcher.watcher.ui.view
+
+import android.graphics.Color
+import android.graphics.drawable.ColorDrawable
+import android.os.Bundle
+import android.view.Gravity
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import androidx.fragment.app.DialogFragment
+import com.yinuo.safetywatcher.databinding.LayoutSyncDialogBinding
+
+class SyncDialog : DialogFragment() {
+
+ override fun onCreateView(
+ inflater: LayoutInflater,
+ container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View? {
+ val dialogBinding = LayoutSyncDialogBinding.inflate(inflater, container, false)
+ return dialogBinding.root
+ }
+
+ @Deprecated("Deprecated in Java")
+ override fun onActivityCreated(savedInstanceState: Bundle?) {
+ super.onActivityCreated(savedInstanceState)
+ initWindow()
+ }
+
+ private fun initWindow() {
+ //初始化window相关表现
+ val window = dialog?.window
+ //设备背景为透明(默认白色)
+ window?.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
+ //设置window宽高(单位px)
+ window?.attributes?.width = 320
+ window?.attributes?.height = 320
+ //设置window位置
+ window?.attributes?.gravity = Gravity.CENTER//居中
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/yinuo/safetywatcher/watcher/utils/Exts.kt b/app/src/main/java/com/yinuo/safetywatcher/watcher/utils/Exts.kt
index 5898f3e..ba0fef4 100644
--- a/app/src/main/java/com/yinuo/safetywatcher/watcher/utils/Exts.kt
+++ b/app/src/main/java/com/yinuo/safetywatcher/watcher/utils/Exts.kt
@@ -2,7 +2,8 @@ package com.yinuo.safetywatcher.watcher.utils
import android.content.Context
import android.widget.Toast
+import com.yinuo.safetywatcher.watcher.ui.view.CommonToast
fun Context.showToast(msg: String) {
- Toast.makeText(this, msg, Toast.LENGTH_SHORT).show()
+ CommonToast(this).makeCommonText(this, msg, Toast.LENGTH_SHORT).show()
}
\ No newline at end of file
diff --git a/app/src/main/res/layout/layout_common_toast.xml b/app/src/main/res/layout/layout_common_toast.xml
new file mode 100644
index 0000000..9ae95b5
--- /dev/null
+++ b/app/src/main/res/layout/layout_common_toast.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/layout_sync_dialog.xml b/app/src/main/res/layout/layout_sync_dialog.xml
new file mode 100644
index 0000000..214e880
--- /dev/null
+++ b/app/src/main/res/layout/layout_sync_dialog.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-hdpi/ic_sync.png b/app/src/main/res/mipmap-hdpi/ic_sync.png
new file mode 100644
index 0000000..ef0be5a
Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ic_sync.png differ
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
index 2133bf9..3419dda 100644
--- a/app/src/main/res/values/dimens.xml
+++ b/app/src/main/res/values/dimens.xml
@@ -57,4 +57,5 @@
6px
28px
580px
+ 320px
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 5d6ce70..dcfc097 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -53,4 +53,5 @@
开始时间和结束时间间隔不能超过24小时!请调整
开始时间必须小于结束时间!请调整
请先插入U盘!
+ 数据同步中