浏览代码

修改节拍器挤出登录还在播放的问题

Pq 1 年之前
父节点
当前提交
81d2c162f7

+ 17 - 0
metronome/src/main/java/com/cooleshow/metronome/MetronomeActivity.java

@@ -16,8 +16,11 @@ import android.widget.TextView;
 import com.alibaba.android.arouter.facade.annotation.Route;
 import com.bigkoo.pickerview.builder.OptionsPickerBuilder;
 import com.bigkoo.pickerview.view.OptionsPickerView;
+import com.cooleshow.base.constanst.LoginStatusConstants;
+import com.cooleshow.base.event.LoginStatusEvent;
 import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.ui.activity.BaseActivity;
+import com.cooleshow.base.utils.LogUtils;
 import com.cooleshow.base.utils.helper.QMUIStatusBarHelper;
 import com.cooleshow.metronome.Utils.PlayBeanManager;
 import com.cooleshow.metronome.Utils.VolumeManager;
@@ -28,6 +31,10 @@ import com.cooleshow.metronome.databinding.ActivityMetronomeLayoutBinding;
 import com.cooleshow.metronome.interfaces.IPlayBeatCallBack;
 import com.cooleshow.metronome.widget.CircularSeekBar;
 
+import org.greenrobot.eventbus.EventBus;
+import org.greenrobot.eventbus.Subscribe;
+import org.greenrobot.eventbus.ThreadMode;
+
 import java.util.ArrayList;
 import java.util.List;
 
@@ -50,6 +57,7 @@ public class MetronomeActivity extends BaseActivity<ActivityMetronomeLayoutBindi
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         QMUIStatusBarHelper.setStatusBarLightMode(this);
+        EventBus.getDefault().register(this);
     }
 
     @Override
@@ -314,9 +322,18 @@ public class MetronomeActivity extends BaseActivity<ActivityMetronomeLayoutBindi
         }
     }
 
+    @Subscribe(threadMode = ThreadMode.MAIN)
+    public void loadEventBus(LoginStatusEvent event) {
+        if (event != null && event.eventCode == LoginStatusConstants.LOGIN_OUT) {
+            LogUtils.i("pq", "MetronomeActivity LoginStatusEvent:logout");
+            finish();
+        }
+    }
+
     @Override
     public void onDestroy() {
         super.onDestroy();
+        EventBus.getDefault().unregister(this);
         try {
             mVolumeManager.unregisterReceiver();
             PlayBeanManager.getInstance().resetCallBackListener(this);

+ 18 - 0
musictuner/src/main/java/com/cooleshow/musictuner/MusicTunerActivity.java

@@ -25,8 +25,11 @@ import com.alibaba.android.arouter.facade.annotation.Route;
 import com.alibaba.android.arouter.launcher.ARouter;
 import com.bigkoo.pickerview.builder.OptionsPickerBuilder;
 import com.bigkoo.pickerview.view.OptionsPickerView;
+import com.cooleshow.base.constanst.LoginStatusConstants;
+import com.cooleshow.base.event.LoginStatusEvent;
 import com.cooleshow.base.router.RouterPath;
 import com.cooleshow.base.ui.activity.BaseActivity;
+import com.cooleshow.base.utils.LogUtils;
 import com.cooleshow.base.utils.SizeUtils;
 import com.cooleshow.metronome.Utils.PlayBeanManager;
 import com.cooleshow.metronome.constants.MetronomeType;
@@ -40,6 +43,10 @@ import com.cooleshow.musictuner.widget.MusicTunerSettingDialog;
 import com.cooleshow.musictuner.widget.MusicTuningForkDialog;
 import com.tbruyelle.rxpermissions3.RxPermissions;
 
+import org.greenrobot.eventbus.EventBus;
+import org.greenrobot.eventbus.Subscribe;
+import org.greenrobot.eventbus.ThreadMode;
+
 import java.util.ArrayList;
 
 @Route(path = RouterPath.MusicTuner.MUSIC_TUNER_PAGE)
@@ -62,6 +69,7 @@ public class MusicTunerActivity extends BaseActivity<ActivityMusicTunerLayoutBin
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
+        EventBus.getDefault().register(this);
         new RxPermissions(this)
                 .request(Manifest.permission.RECORD_AUDIO)
                 .subscribe(permission -> {
@@ -410,12 +418,22 @@ public class MusicTunerActivity extends BaseActivity<ActivityMusicTunerLayoutBin
         }
     }
 
+    @Subscribe(threadMode = ThreadMode.MAIN)
+    public void loadEventBus(LoginStatusEvent event) {
+        if (event != null && event.eventCode == LoginStatusConstants.LOGIN_OUT) {
+            LogUtils.i("pq", "MusicTunerActivity LoginStatusEvent:logout");
+            releaseBeatManager();
+            finish();
+        }
+    }
+
     @Override
     protected void onDestroy() {
         if (viewBinding != null) {
             viewBinding.viewDashBoard.release();
         }
         super.onDestroy();
+        EventBus.getDefault().unregister(this);
         AudioTrackManager.getInstance().stop();
         if (mMusicTunerHelper != null) {
             mMusicTunerHelper.release();