diff --git a/daemon/src/main/java/org/lsposed/lspd/service/LSPosedService.java b/daemon/src/main/java/org/lsposed/lspd/service/LSPosedService.java index 45bb7092..e54d867a 100644 --- a/daemon/src/main/java/org/lsposed/lspd/service/LSPosedService.java +++ b/daemon/src/main/java/org/lsposed/lspd/service/LSPosedService.java @@ -247,6 +247,7 @@ public class LSPosedService extends ILSPosedService.Stub { @Override public void performReceive(Intent intent, int resultCode, String data, Bundle extras, boolean ordered, boolean sticky, int sendingUser) { getExecutorService().submit(() -> dispatchPackageChanged(intent)); + if (!ordered) return; try { ActivityManagerService.finishReceiver(this, resultCode, data, extras, false, intent.getFlags()); } catch (Throwable e) { @@ -272,6 +273,7 @@ public class LSPosedService extends ILSPosedService.Stub { @Override public void performReceive(Intent intent, int resultCode, String data, Bundle extras, boolean ordered, boolean sticky, int sendingUser) { getExecutorService().submit(() -> dispatchUserUnlocked(intent)); + if (!ordered) return; try { ActivityManagerService.finishReceiver(this, resultCode, data, extras, false, intent.getFlags()); } catch (Throwable e) { @@ -294,6 +296,7 @@ public class LSPosedService extends ILSPosedService.Stub { @Override public void performReceive(Intent intent, int resultCode, String data, Bundle extras, boolean ordered, boolean sticky, int sendingUser) { getExecutorService().submit(() -> dispatchConfigurationChanged(intent)); + if (!ordered) return; try { ActivityManagerService.finishReceiver(this, resultCode, data, extras, false, intent.getFlags()); } catch (Throwable e) { @@ -318,6 +321,7 @@ public class LSPosedService extends ILSPosedService.Stub { @Override public void performReceive(Intent intent, int resultCode, String data, Bundle extras, boolean ordered, boolean sticky, int sendingUser) { getExecutorService().submit(() -> dispatchSecretCodeReceive()); + if (!ordered) return; try { ActivityManagerService.finishReceiver(this, resultCode, data, extras, false, intent.getFlags()); } catch (Throwable e) { @@ -347,6 +351,7 @@ public class LSPosedService extends ILSPosedService.Stub { Log.e(TAG, "setActivityController", e); } }); + if (!ordered) return; try { ActivityManagerService.finishReceiver(this, resultCode, data, extras, false, intent.getFlags()); } catch (Throwable e) { @@ -370,6 +375,7 @@ public class LSPosedService extends ILSPosedService.Stub { @Override public void performReceive(Intent intent, int resultCode, String data, Bundle extras, boolean ordered, boolean sticky, int sendingUser) { getExecutorService().submit(() -> dispatchUserChanged(intent)); + if (!ordered) return; try { ActivityManagerService.finishReceiver(this, resultCode, data, extras, false, intent.getFlags()); } catch (Throwable e) {