|
|
@@ -17,6 +17,8 @@ import android.provider.Settings.SettingNotFoundException
|
|
|
import android.view.KeyEvent
|
|
|
import android.view.View
|
|
|
import android.view.WindowManager
|
|
|
+import android.view.animation.Animation
|
|
|
+import android.view.animation.TranslateAnimation
|
|
|
import android.widget.*
|
|
|
import androidx.appcompat.app.AlertDialog
|
|
|
import androidx.appcompat.app.AppCompatActivity
|
|
|
@@ -57,10 +59,12 @@ class MainActivity : AppCompatActivity(), ScannerFragment.OnDeviceSelectedListen
|
|
|
|
|
|
var toast: Toast? = null
|
|
|
var mExitTime: Long = 0
|
|
|
+ var HeartLine = arrayListOf<Any>(0, 0, 0)
|
|
|
|
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
|
super.onCreate(savedInstanceState)
|
|
|
setContentView(R.layout.activity_main)
|
|
|
+
|
|
|
// 首次加载
|
|
|
FirstRun()
|
|
|
|
|
|
@@ -80,9 +84,45 @@ class MainActivity : AppCompatActivity(), ScannerFragment.OnDeviceSelectedListen
|
|
|
|
|
|
// 绘制心律图
|
|
|
ChartView()
|
|
|
+// 心跳动画
|
|
|
+ heartAnimate()
|
|
|
|
|
|
}
|
|
|
|
|
|
+ fun heartAnimate(){
|
|
|
+ val mIdIvFace = findViewById<ImageView>(R.id.heart)
|
|
|
+
|
|
|
+
|
|
|
+ // 设置移动效果
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * float fromXDelta 动画开始的点离当前View X坐标上的差值
|
|
|
+ * float toXDelta 动画结束的点离当前View X坐标上的差值
|
|
|
+ * float fromYDelta 动画开始的点离当前View Y坐标上的差值
|
|
|
+ * float toYDelta 动画开始的点离当前View Y坐标上的差值
|
|
|
+ */
|
|
|
+
|
|
|
+
|
|
|
+ // 设置移动效果
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * float fromXDelta 动画开始的点离当前View X坐标上的差值
|
|
|
+ * float toXDelta 动画结束的点离当前View X坐标上的差值
|
|
|
+ * float fromYDelta 动画开始的点离当前View Y坐标上的差值
|
|
|
+ * float toYDelta 动画开始的点离当前View Y坐标上的差值
|
|
|
+ */
|
|
|
+ val translateAnimation: Animation = TranslateAnimation(0F, 20F, 0F, 20F)
|
|
|
+ // 设置动画持续时间
|
|
|
+ // 设置动画持续时间
|
|
|
+ translateAnimation.duration = 30000
|
|
|
+ // 为ImageView设置动画效果
|
|
|
+ // 为ImageView设置动画效果
|
|
|
+ mIdIvFace.setAnimation(translateAnimation)
|
|
|
+ // 启动动画
|
|
|
+ // 启动动画
|
|
|
+ translateAnimation.startNow()
|
|
|
+ }
|
|
|
+
|
|
|
fun setStatusBarColor(colorType: String) {
|
|
|
val window = window
|
|
|
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
|
|
|
@@ -107,20 +147,6 @@ class MainActivity : AppCompatActivity(), ScannerFragment.OnDeviceSelectedListen
|
|
|
} else {
|
|
|
dialog.show(supportFragmentManager, "scan_fragment")
|
|
|
}
|
|
|
-
|
|
|
-// val fragmentManager: FragmentManager = this.supportFragmentManager
|
|
|
-// val dialog = ScannerFragment.getInstance()
|
|
|
-// dialog.show(fragmentManager, "scanFragment");
|
|
|
-
|
|
|
-// if (isBLEEnabled()) {
|
|
|
-// if (!mDeviceConnected) {
|
|
|
-// showDeviceScanningDialog()
|
|
|
-// } else {
|
|
|
-// mManager!!.disConnect()
|
|
|
-// }
|
|
|
-// } else {
|
|
|
-// showBLEDialog()
|
|
|
-// }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -152,8 +178,6 @@ class MainActivity : AppCompatActivity(), ScannerFragment.OnDeviceSelectedListen
|
|
|
val OneActivityIntent = Intent(this, OneActivity::class.java)
|
|
|
startActivity(OneActivityIntent)
|
|
|
} else {
|
|
|
-// setContentView(R.layout.activity_main)
|
|
|
- // 登录判断
|
|
|
login()
|
|
|
}
|
|
|
}
|
|
|
@@ -171,7 +195,6 @@ class MainActivity : AppCompatActivity(), ScannerFragment.OnDeviceSelectedListen
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
protected var mManager: WearManager? = null
|
|
|
protected var mLoading: LoadingDialog? = null
|
|
|
protected var mHandler = Handler(Looper.getMainLooper())
|
|
|
@@ -389,6 +412,27 @@ class MainActivity : AppCompatActivity(), ScannerFragment.OnDeviceSelectedListen
|
|
|
if (rrIntervals != null) {
|
|
|
findViewById<TextView>(R.id.rrIntervals).text = rrIntervals.toString()
|
|
|
}
|
|
|
+// 把心跳数塞进去
|
|
|
+ val aaChartView = findViewById<AAChartView>(R.id.aa_chart_view)
|
|
|
+ if(HeartLine.size > 10){
|
|
|
+ HeartLine.remove(0)
|
|
|
+ }
|
|
|
+ HeartLine.add(heartRate)
|
|
|
+ aaChartView.aa_onlyRefreshTheChartDataWithChartOptionsSeriesArray(
|
|
|
+ arrayOf(
|
|
|
+ AASeriesElement()
|
|
|
+ .name("心率趋势图")
|
|
|
+ .data(
|
|
|
+ HeartLine.toArray()
|
|
|
+ )
|
|
|
+ )
|
|
|
+ )
|
|
|
+
|
|
|
+// todo 最大心率 和 平均心率
|
|
|
+// val arrayList = ArrayList<Int>()
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
// 运动强度
|
|
|
// 男:((-55.0969 +(0.6309×HR)+(0.1988 xW)+(0.2017×A))/ 4.184)×60 xT
|
|
|
// 女:((-20.4022 +(0.4472×HR) - (0.1263 xW)+(0.074×A))/ 4.184)×60 xT
|
|
|
@@ -400,9 +444,6 @@ class MainActivity : AppCompatActivity(), ScannerFragment.OnDeviceSelectedListen
|
|
|
|
|
|
// 根据运动强度加载不同的背景色,状态栏颜色 和 提示语
|
|
|
headStatus(ActityVal.toInt())
|
|
|
-// todo 全部卡路里
|
|
|
-// this.findViewById<TextView>(R.id.calNum).text =
|
|
|
-// BaseData().calcSumCalc(heartRate, BaseData().sex, BaseData().weight, BaseData().age, 1)
|
|
|
}
|
|
|
|
|
|
fun setDeafultData() {
|
|
|
@@ -497,6 +538,7 @@ class MainActivity : AppCompatActivity(), ScannerFragment.OnDeviceSelectedListen
|
|
|
|
|
|
fun ChartView() {
|
|
|
val aaChartView = findViewById<AAChartView>(R.id.aa_chart_view)
|
|
|
+// arrayOf(0, 0)
|
|
|
val aaChartModel = AAChartModel()
|
|
|
.chartType(AAChartType.Line)
|
|
|
.backgroundColor("#fff")
|
|
|
@@ -504,17 +546,7 @@ class MainActivity : AppCompatActivity(), ScannerFragment.OnDeviceSelectedListen
|
|
|
arrayOf(
|
|
|
AASeriesElement()
|
|
|
.name("心率趋势图")
|
|
|
- .data(
|
|
|
- arrayOf(
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0,
|
|
|
- 0
|
|
|
- )
|
|
|
- )
|
|
|
+ .data(HeartLine.toArray())
|
|
|
)
|
|
|
)
|
|
|
/*图表视图对象调用图表模型对象,绘制最终图形*/
|
|
|
@@ -526,3 +558,4 @@ class MainActivity : AppCompatActivity(), ScannerFragment.OnDeviceSelectedListen
|
|
|
|
|
|
|
|
|
|
|
|
+
|