Avoid calling `finishReceiver` for unordered broadcasts (#2139)
This commit is contained in:
parent
65136dc5ff
commit
135a7d69f8
|
|
@ -247,6 +247,7 @@ public class LSPosedService extends ILSPosedService.Stub {
|
||||||
@Override
|
@Override
|
||||||
public void performReceive(Intent intent, int resultCode, String data, Bundle extras, boolean ordered, boolean sticky, int sendingUser) {
|
public void performReceive(Intent intent, int resultCode, String data, Bundle extras, boolean ordered, boolean sticky, int sendingUser) {
|
||||||
getExecutorService().submit(() -> dispatchPackageChanged(intent));
|
getExecutorService().submit(() -> dispatchPackageChanged(intent));
|
||||||
|
if (!ordered) return;
|
||||||
try {
|
try {
|
||||||
ActivityManagerService.finishReceiver(this, resultCode, data, extras, false, intent.getFlags());
|
ActivityManagerService.finishReceiver(this, resultCode, data, extras, false, intent.getFlags());
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
|
|
@ -272,6 +273,7 @@ public class LSPosedService extends ILSPosedService.Stub {
|
||||||
@Override
|
@Override
|
||||||
public void performReceive(Intent intent, int resultCode, String data, Bundle extras, boolean ordered, boolean sticky, int sendingUser) {
|
public void performReceive(Intent intent, int resultCode, String data, Bundle extras, boolean ordered, boolean sticky, int sendingUser) {
|
||||||
getExecutorService().submit(() -> dispatchUserUnlocked(intent));
|
getExecutorService().submit(() -> dispatchUserUnlocked(intent));
|
||||||
|
if (!ordered) return;
|
||||||
try {
|
try {
|
||||||
ActivityManagerService.finishReceiver(this, resultCode, data, extras, false, intent.getFlags());
|
ActivityManagerService.finishReceiver(this, resultCode, data, extras, false, intent.getFlags());
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
|
|
@ -294,6 +296,7 @@ public class LSPosedService extends ILSPosedService.Stub {
|
||||||
@Override
|
@Override
|
||||||
public void performReceive(Intent intent, int resultCode, String data, Bundle extras, boolean ordered, boolean sticky, int sendingUser) {
|
public void performReceive(Intent intent, int resultCode, String data, Bundle extras, boolean ordered, boolean sticky, int sendingUser) {
|
||||||
getExecutorService().submit(() -> dispatchConfigurationChanged(intent));
|
getExecutorService().submit(() -> dispatchConfigurationChanged(intent));
|
||||||
|
if (!ordered) return;
|
||||||
try {
|
try {
|
||||||
ActivityManagerService.finishReceiver(this, resultCode, data, extras, false, intent.getFlags());
|
ActivityManagerService.finishReceiver(this, resultCode, data, extras, false, intent.getFlags());
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
|
|
@ -318,6 +321,7 @@ public class LSPosedService extends ILSPosedService.Stub {
|
||||||
@Override
|
@Override
|
||||||
public void performReceive(Intent intent, int resultCode, String data, Bundle extras, boolean ordered, boolean sticky, int sendingUser) {
|
public void performReceive(Intent intent, int resultCode, String data, Bundle extras, boolean ordered, boolean sticky, int sendingUser) {
|
||||||
getExecutorService().submit(() -> dispatchSecretCodeReceive());
|
getExecutorService().submit(() -> dispatchSecretCodeReceive());
|
||||||
|
if (!ordered) return;
|
||||||
try {
|
try {
|
||||||
ActivityManagerService.finishReceiver(this, resultCode, data, extras, false, intent.getFlags());
|
ActivityManagerService.finishReceiver(this, resultCode, data, extras, false, intent.getFlags());
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
|
|
@ -347,6 +351,7 @@ public class LSPosedService extends ILSPosedService.Stub {
|
||||||
Log.e(TAG, "setActivityController", e);
|
Log.e(TAG, "setActivityController", e);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
if (!ordered) return;
|
||||||
try {
|
try {
|
||||||
ActivityManagerService.finishReceiver(this, resultCode, data, extras, false, intent.getFlags());
|
ActivityManagerService.finishReceiver(this, resultCode, data, extras, false, intent.getFlags());
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
|
|
@ -370,6 +375,7 @@ public class LSPosedService extends ILSPosedService.Stub {
|
||||||
@Override
|
@Override
|
||||||
public void performReceive(Intent intent, int resultCode, String data, Bundle extras, boolean ordered, boolean sticky, int sendingUser) {
|
public void performReceive(Intent intent, int resultCode, String data, Bundle extras, boolean ordered, boolean sticky, int sendingUser) {
|
||||||
getExecutorService().submit(() -> dispatchUserChanged(intent));
|
getExecutorService().submit(() -> dispatchUserChanged(intent));
|
||||||
|
if (!ordered) return;
|
||||||
try {
|
try {
|
||||||
ActivityManagerService.finishReceiver(this, resultCode, data, extras, false, intent.getFlags());
|
ActivityManagerService.finishReceiver(this, resultCode, data, extras, false, intent.getFlags());
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue