From 453b08bbefa68ac03aa017073e7ebf0e7109332a Mon Sep 17 00:00:00 2001 From: lyswhut Date: Sat, 11 Nov 2023 12:11:57 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=8B=E4=BB=B6=E6=B3=A8?= =?UTF-8?q?=E5=86=8C=E8=AD=A6=E5=91=8A=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../music/mobile/userApi/UserApiModule.java | 19 +++++++++++++++++++ .../music/mobile/utils/UtilsModule.java | 19 +++++++++++++++++++ 2 files changed, 38 insertions(+) diff --git a/android/app/src/main/java/cn/toside/music/mobile/userApi/UserApiModule.java b/android/app/src/main/java/cn/toside/music/mobile/userApi/UserApiModule.java index f22e795..9fbc154 100644 --- a/android/app/src/main/java/cn/toside/music/mobile/userApi/UserApiModule.java +++ b/android/app/src/main/java/cn/toside/music/mobile/userApi/UserApiModule.java @@ -16,6 +16,8 @@ public class UserApiModule extends ReactContextBaseJavaModule { private final ReactApplicationContext reactContext; private UtilsEvent utilsEvent; + private int listenerCount = 0; + UserApiModule(ReactApplicationContext reactContext) { super(reactContext); this.javaScriptThread = null; @@ -28,6 +30,23 @@ public class UserApiModule extends ReactContextBaseJavaModule { return "UserApiModule"; } + @ReactMethod + public void addListener(String eventName) { + if (listenerCount == 0) { + // Set up any upstream listeners or background tasks as necessary + } + + listenerCount += 1; + } + + @ReactMethod + public void removeListeners(Integer count) { + listenerCount -= count; + if (listenerCount == 0) { + // Remove upstream listeners, stop unnecessary background tasks + } + } + @ReactMethod public void loadScript(ReadableMap data) { if (this.utilsEvent == null) this.utilsEvent = new UtilsEvent(this.reactContext); diff --git a/android/app/src/main/java/cn/toside/music/mobile/utils/UtilsModule.java b/android/app/src/main/java/cn/toside/music/mobile/utils/UtilsModule.java index aaec678..b2f4959 100644 --- a/android/app/src/main/java/cn/toside/music/mobile/utils/UtilsModule.java +++ b/android/app/src/main/java/cn/toside/music/mobile/utils/UtilsModule.java @@ -42,6 +42,8 @@ import java.util.Objects; public class UtilsModule extends ReactContextBaseJavaModule { private final ReactApplicationContext reactContext; + private int listenerCount = 0; + UtilsEvent utilsEvent; UtilsModule(ReactApplicationContext reactContext) { @@ -56,6 +58,23 @@ public class UtilsModule extends ReactContextBaseJavaModule { return "UtilsModule"; } + @ReactMethod + public void addListener(String eventName) { + if (listenerCount == 0) { + // Set up any upstream listeners or background tasks as necessary + } + + listenerCount += 1; + } + + @ReactMethod + public void removeListeners(Integer count) { + listenerCount -= count; + if (listenerCount == 0) { + // Remove upstream listeners, stop unnecessary background tasks + } + } + private void registerScreenBroadcastReceiver() { final IntentFilter theFilter = new IntentFilter(); /** System Defined Broadcast */