Fix notification intent for Android 14 DP2 (#2435)
This commit is contained in:
parent
7087c6f752
commit
af1223e4a5
|
|
@ -142,6 +142,7 @@ public class LSPNotificationManager {
|
||||||
|
|
||||||
static void notifyStatusNotification() {
|
static void notifyStatusNotification() {
|
||||||
var intent = new Intent(openManagerAction);
|
var intent = new Intent(openManagerAction);
|
||||||
|
intent.setPackage("android");
|
||||||
var context = new FakeContext();
|
var context = new FakeContext();
|
||||||
int flags = PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE;
|
int flags = PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE;
|
||||||
var notification = new Notification.Builder(context, STATUS_CHANNEL_ID)
|
var notification = new Notification.Builder(context, STATUS_CHANNEL_ID)
|
||||||
|
|
@ -180,6 +181,7 @@ public class LSPNotificationManager {
|
||||||
|
|
||||||
private static PendingIntent getModuleIntent(String modulePackageName, int moduleUserId) {
|
private static PendingIntent getModuleIntent(String modulePackageName, int moduleUserId) {
|
||||||
var intent = new Intent(openManagerAction);
|
var intent = new Intent(openManagerAction);
|
||||||
|
intent.setPackage("android");
|
||||||
intent.setData(new Uri.Builder().scheme("module").encodedAuthority(modulePackageName + ":" + moduleUserId).build());
|
intent.setData(new Uri.Builder().scheme("module").encodedAuthority(modulePackageName + ":" + moduleUserId).build());
|
||||||
int flags = PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE;
|
int flags = PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE;
|
||||||
return PendingIntent.getBroadcast(new FakeContext(), 3, intent, flags);
|
return PendingIntent.getBroadcast(new FakeContext(), 3, intent, flags);
|
||||||
|
|
@ -187,6 +189,7 @@ public class LSPNotificationManager {
|
||||||
|
|
||||||
private static PendingIntent getModuleScopeIntent(String modulePackageName, int moduleUserId, String scopePackageName, String action, IXposedScopeCallback callback) {
|
private static PendingIntent getModuleScopeIntent(String modulePackageName, int moduleUserId, String scopePackageName, String action, IXposedScopeCallback callback) {
|
||||||
var intent = new Intent(moduleScope);
|
var intent = new Intent(moduleScope);
|
||||||
|
intent.setPackage("android");
|
||||||
intent.setData(new Uri.Builder().scheme("module").encodedAuthority(modulePackageName + ":" + moduleUserId).encodedPath(scopePackageName).appendQueryParameter("action", action).build());
|
intent.setData(new Uri.Builder().scheme("module").encodedAuthority(modulePackageName + ":" + moduleUserId).encodedPath(scopePackageName).appendQueryParameter("action", action).build());
|
||||||
var extras = new Bundle();
|
var extras = new Bundle();
|
||||||
extras.putBinder("callback", callback.asBinder());
|
extras.putBinder("callback", callback.asBinder());
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,7 @@ import static org.lsposed.lspd.service.ServiceManager.getExecutorService;
|
||||||
|
|
||||||
import android.app.IApplicationThread;
|
import android.app.IApplicationThread;
|
||||||
import android.app.IUidObserver;
|
import android.app.IUidObserver;
|
||||||
|
import android.content.Context;
|
||||||
import android.content.IIntentReceiver;
|
import android.content.IIntentReceiver;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.IntentFilter;
|
import android.content.IntentFilter;
|
||||||
|
|
@ -328,7 +329,7 @@ public class LSPosedService extends ILSPosedService.Stub {
|
||||||
};
|
};
|
||||||
try {
|
try {
|
||||||
for (var filter : filters) {
|
for (var filter : filters) {
|
||||||
ActivityManagerService.registerReceiver("android", null, receiver, filter, requiredPermission, userId, 0);
|
ActivityManagerService.registerReceiver("android", null, receiver, filter, requiredPermission, userId, Context.RECEIVER_NOT_EXPORTED);
|
||||||
}
|
}
|
||||||
} catch (RemoteException e) {
|
} catch (RemoteException e) {
|
||||||
Log.e(TAG, "register receiver", e);
|
Log.e(TAG, "register receiver", e);
|
||||||
|
|
@ -401,10 +402,9 @@ public class LSPosedService extends ILSPosedService.Stub {
|
||||||
|
|
||||||
private void registerModuleScopeReceiver() {
|
private void registerModuleScopeReceiver() {
|
||||||
var intentFilter = new IntentFilter(LSPNotificationManager.moduleScope);
|
var intentFilter = new IntentFilter(LSPNotificationManager.moduleScope);
|
||||||
var moduleFilter = new IntentFilter(intentFilter);
|
intentFilter.addDataScheme("module");
|
||||||
moduleFilter.addDataScheme("module");
|
|
||||||
|
|
||||||
registerReceiver(List.of(intentFilter, moduleFilter), "android.permission.BRICK", 0, this::dispatchModuleScope);
|
registerReceiver(List.of(intentFilter), "android.permission.BRICK", 0, this::dispatchModuleScope);
|
||||||
Log.d(TAG, "registered module scope receiver");
|
Log.d(TAG, "registered module scope receiver");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue