1
0
Fork 0
mirror of https://github.com/M66B/FairEmail.git synced 2025-02-23 06:31:17 +00:00

Report pending intent errors

This commit is contained in:
M66B 2023-06-19 07:16:48 +02:00
parent 024b5b1dcf
commit 4a9bd3de21

View file

@ -36,23 +36,38 @@ public class PendingIntentCompat {
// https://stackoverflow.com/questions/71266853/xiaomi-android-11-securityexception-too-many-pendingintent-created
public static PendingIntent getActivity(Context context, int requestCode, Intent intent, int flags) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.S || (flags & PendingIntent.FLAG_MUTABLE) != 0)
return PendingIntent.getActivity(context, requestCode, intent, flags);
else
return PendingIntent.getActivity(context, requestCode, intent, flags | PendingIntent.FLAG_IMMUTABLE);
try {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.S || (flags & PendingIntent.FLAG_MUTABLE) != 0)
return PendingIntent.getActivity(context, requestCode, intent, flags);
else
return PendingIntent.getActivity(context, requestCode, intent, flags | PendingIntent.FLAG_IMMUTABLE);
} catch (Throwable ex) {
Log.e(ex);
throw ex;
}
}
public static PendingIntent getService(Context context, int requestCode, @NonNull Intent intent, int flags) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.S || (flags & PendingIntent.FLAG_MUTABLE) != 0)
return PendingIntent.getService(context, requestCode, intent, flags);
else
return PendingIntent.getService(context, requestCode, intent, flags | PendingIntent.FLAG_IMMUTABLE);
try {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.S || (flags & PendingIntent.FLAG_MUTABLE) != 0)
return PendingIntent.getService(context, requestCode, intent, flags);
else
return PendingIntent.getService(context, requestCode, intent, flags | PendingIntent.FLAG_IMMUTABLE);
} catch (Throwable ex) {
Log.e(ex);
throw ex;
}
}
static PendingIntent getForegroundService(Context context, int requestCode, @NonNull Intent intent, int flags) {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.S || (flags & PendingIntent.FLAG_MUTABLE) != 0)
return PendingIntent.getService(context, requestCode, intent, flags);
else
return PendingIntent.getForegroundService(context, requestCode, intent, flags | PendingIntent.FLAG_IMMUTABLE);
try {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.S || (flags & PendingIntent.FLAG_MUTABLE) != 0)
return PendingIntent.getService(context, requestCode, intent, flags);
else
return PendingIntent.getForegroundService(context, requestCode, intent, flags | PendingIntent.FLAG_IMMUTABLE);
} catch (Throwable ex) {
Log.e(ex);
throw ex;
}
}
}