From 7b0a7a44c096794ede832f65550c3a29da23dbac Mon Sep 17 00:00:00 2001
From: Runt <qingingrunt2010@qq.com>
Date: Wed, 04 May 2022 14:13:18 +0000
Subject: [PATCH] 滑动歌词 计算时间 问题修复

---
 app/src/main/java/com/auto/lyric/service/FloatingWindowService.java |   12 ++++++++----
 app/src/main/java/com/auto/lyric/widgets/LyricView.java             |    8 ++++----
 2 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/app/src/main/java/com/auto/lyric/service/FloatingWindowService.java b/app/src/main/java/com/auto/lyric/service/FloatingWindowService.java
index ed45dd9..92d3ce3 100644
--- a/app/src/main/java/com/auto/lyric/service/FloatingWindowService.java
+++ b/app/src/main/java/com/auto/lyric/service/FloatingWindowService.java
@@ -213,11 +213,15 @@
                     case MotionEvent.ACTION_UP:
                         if(binding.btnStart.getText().equals("开启") || pause) {
                             int index = binding.lyric.getIndexFromOffsetY(binding.lyric.getOffsetY());
-                            binding.lyric.setIndex(index);
-                            binding.lyric.setOffsetY(220 - index * (binding.lyric.getSIZEWORD() + 44));
                             LyricObject object = LyricServer.getLrc_map().get(index);
-                            Log.e("LyricView", "object:" + object);
-                            progress = object.begintime;
+                            Log.e("LyricView", "index:"+index+" object:" + object);
+                            if(object != null) {
+                                binding.lyric.setIndex(index);
+                                binding.lyric.setOffsetY(220 - index * (binding.lyric.getSIZEWORD() + 44));
+                                Log.e("LyricView", "object:" + object);
+                                progress = object.begintime;
+                                binding.timer.setText(msFormat.format(progress));
+                            }
                             binding.lyric.invalidate();
                         }
                         break;
diff --git a/app/src/main/java/com/auto/lyric/widgets/LyricView.java b/app/src/main/java/com/auto/lyric/widgets/LyricView.java
index 77d8a77..8c1880b 100644
--- a/app/src/main/java/com/auto/lyric/widgets/LyricView.java
+++ b/app/src/main/java/com/auto/lyric/widgets/LyricView.java
@@ -189,11 +189,11 @@
         //220 - index * (binding.lyric.getSIZEWORD() + 44)
         int index = (int) ((220 - offsetY) / (SIZEWORD + 44));
         Log.i("LyricView", "getIndexFromOffsetY index:"+index);
-        if(LyricServer.getLrc_map().keySet().size()>index){
-            return index;
-        }else if(index < 0){
+        if(index < 0){
             return 0;
-        }else{
+        }else if(LyricServer.getLrc_map().keySet().size()>index){
+            return index;
+        }else {
             return LyricServer.getLrc_map().keySet().size() -1;
         }
     }

--
Gitblit v1.9.1