From 052c021da5d7a4f85874a64596bce3943a6ae282 Mon Sep 17 00:00:00 2001 From: Ivan K Date: Sun, 13 Mar 2022 22:25:09 +0300 Subject: [PATCH] Target SDK is 32 (12L) --- .../config/debug/AndroidManifest.xml | 7 ++- .../config/release/AndroidManifest.xml | 7 ++- .../config/release/AndroidManifest_SDK23.xml | 4 +- TMessagesProj/src/main/AndroidManifest.xml | 59 ++++++++++++------- .../telegram/messenger/ApplicationLoader.java | 2 +- .../messenger/ChatsWidgetProvider.java | 2 +- .../messenger/ContactsWidgetProvider.java | 2 +- .../messenger/FeedWidgetProvider.java | 2 +- .../messenger/LocationSharingService.java | 4 +- .../messenger/MusicBrowserService.java | 2 +- .../messenger/MusicPlayerService.java | 26 ++++---- .../messenger/NotificationsController.java | 22 +++---- .../telegram/messenger/browser/Browser.java | 4 +- .../telegram/messenger/voip/VoIPService.java | 22 +++---- 14 files changed, 92 insertions(+), 73 deletions(-) diff --git a/TMessagesProj/config/debug/AndroidManifest.xml b/TMessagesProj/config/debug/AndroidManifest.xml index 62fabc5f6..d3670d185 100644 --- a/TMessagesProj/config/debug/AndroidManifest.xml +++ b/TMessagesProj/config/debug/AndroidManifest.xml @@ -19,8 +19,8 @@ + android:enabled="false" + android:exported="false"> diff --git a/TMessagesProj/config/release/AndroidManifest.xml b/TMessagesProj/config/release/AndroidManifest.xml index b0035e026..c911153ba 100644 --- a/TMessagesProj/config/release/AndroidManifest.xml +++ b/TMessagesProj/config/release/AndroidManifest.xml @@ -19,8 +19,8 @@ + android:enabled="false" + android:exported="false"> diff --git a/TMessagesProj/config/release/AndroidManifest_SDK23.xml b/TMessagesProj/config/release/AndroidManifest_SDK23.xml index ccee23d96..c6bcc4817 100644 --- a/TMessagesProj/config/release/AndroidManifest_SDK23.xml +++ b/TMessagesProj/config/release/AndroidManifest_SDK23.xml @@ -22,8 +22,8 @@ @@ -91,7 +92,8 @@ android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode" android:hardwareAccelerated="@bool/useHardwareAcceleration" android:launchMode="singleTask" - android:windowSoftInputMode="adjustResize"> + android:windowSoftInputMode="adjustResize" + android:exported="true"> @@ -128,9 +130,9 @@ - - - + + + @@ -160,6 +162,7 @@ @@ -183,6 +186,7 @@ android:windowSoftInputMode="adjustPan" android:excludeFromRecents="true" android:stateNotNeeded="true" + android:exported="true" android:theme="@style/Theme.TMessages.Transparent"> @@ -195,7 +199,8 @@ android:name="org.telegram.ui.ExternalActionActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode" android:hardwareAccelerated="@bool/useHardwareAcceleration" - android:windowSoftInputMode="adjustPan"> + android:windowSoftInputMode="adjustPan" + android:exported="true"> @@ -205,8 +210,9 @@ android:name="org.telegram.ui.ChatsWidgetConfigActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode" android:hardwareAccelerated="@bool/useHardwareAcceleration" - android:windowSoftInputMode="adjustPan"> - + android:windowSoftInputMode="adjustPan" + android:exported="true"> + @@ -214,8 +220,9 @@ android:name="org.telegram.ui.ContactsWidgetConfigActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode" android:hardwareAccelerated="@bool/useHardwareAcceleration" - android:windowSoftInputMode="adjustPan"> - + android:windowSoftInputMode="adjustPan" + android:exported="true"> + @@ -223,7 +230,8 @@ - + + @@ -256,12 +264,14 @@ android:configChanges="keyboard|keyboardHidden|orientation|screenSize|uiMode" android:taskAffinity="${applicationId}.voip" android:excludeFromRecents="true" - android:theme="@style/Theme.TMessages.Transparent"/> + android:theme="@style/Theme.TMessages.Transparent" + android:exported="true"/> + android:theme="@style/Theme.TMessages.TransparentWithAlerts" + android:exported="true"/> - + @@ -338,13 +348,13 @@ - + - + @@ -361,7 +371,7 @@ - + @@ -374,17 +384,17 @@ - + - + - + - + - + @@ -448,6 +458,13 @@ + + + + + + diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/ApplicationLoader.java b/TMessagesProj/src/main/java/org/telegram/messenger/ApplicationLoader.java index 20ecbdc35..22ec39979 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/ApplicationLoader.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/ApplicationLoader.java @@ -238,7 +238,7 @@ public class ApplicationLoader extends Application { } else { applicationContext.stopService(new Intent(applicationContext, NotificationsService.class)); - PendingIntent pintent = PendingIntent.getService(applicationContext, 0, new Intent(applicationContext, NotificationsService.class), 0); + PendingIntent pintent = PendingIntent.getService(applicationContext, 0, new Intent(applicationContext, NotificationsService.class), PendingIntent.FLAG_MUTABLE); AlarmManager alarm = (AlarmManager)applicationContext.getSystemService(Context.ALARM_SERVICE); alarm.cancel(pintent); } diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/ChatsWidgetProvider.java b/TMessagesProj/src/main/java/org/telegram/messenger/ChatsWidgetProvider.java index a9f50cbc8..20a3360ee 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/ChatsWidgetProvider.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/ChatsWidgetProvider.java @@ -110,7 +110,7 @@ public class ChatsWidgetProvider extends AppWidgetProvider { intent.setAction("com.tmessages.openchat" + Math.random() + Integer.MAX_VALUE); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.addCategory(Intent.CATEGORY_LAUNCHER); - PendingIntent contentIntent = PendingIntent.getActivity(ApplicationLoader.applicationContext, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); + PendingIntent contentIntent = PendingIntent.getActivity(ApplicationLoader.applicationContext, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_MUTABLE); rv.setPendingIntentTemplate(R.id.list_view, contentIntent); appWidgetManager.updateAppWidget(appWidgetId, rv); diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/ContactsWidgetProvider.java b/TMessagesProj/src/main/java/org/telegram/messenger/ContactsWidgetProvider.java index 2a6c1eb22..f0b5fee10 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/ContactsWidgetProvider.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/ContactsWidgetProvider.java @@ -111,7 +111,7 @@ public class ContactsWidgetProvider extends AppWidgetProvider { intent.setAction("com.tmessages.openchat" + Math.random() + Integer.MAX_VALUE); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.addCategory(Intent.CATEGORY_LAUNCHER); - PendingIntent contentIntent = PendingIntent.getActivity(ApplicationLoader.applicationContext, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); + PendingIntent contentIntent = PendingIntent.getActivity(ApplicationLoader.applicationContext, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_MUTABLE); rv.setPendingIntentTemplate(R.id.list_view, contentIntent); diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/FeedWidgetProvider.java b/TMessagesProj/src/main/java/org/telegram/messenger/FeedWidgetProvider.java index 60c37345a..23545e838 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/FeedWidgetProvider.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/FeedWidgetProvider.java @@ -49,7 +49,7 @@ public class FeedWidgetProvider extends AppWidgetProvider { intent.setAction("com.tmessages.openchat" + Math.random() + Integer.MAX_VALUE); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); intent.addCategory(Intent.CATEGORY_LAUNCHER); - PendingIntent contentIntent = PendingIntent.getActivity(ApplicationLoader.applicationContext, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT); + PendingIntent contentIntent = PendingIntent.getActivity(ApplicationLoader.applicationContext, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_MUTABLE); rv.setPendingIntentTemplate(R.id.list_view, contentIntent); diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/LocationSharingService.java b/TMessagesProj/src/main/java/org/telegram/messenger/LocationSharingService.java index 72a4120d7..9ae267380 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/LocationSharingService.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/LocationSharingService.java @@ -132,7 +132,7 @@ public class LocationSharingService extends Service implements NotificationCente Intent intent2 = new Intent(ApplicationLoader.applicationContext, LaunchActivity.class); intent2.setAction("org.tmessages.openlocations"); intent2.addCategory(Intent.CATEGORY_LAUNCHER); - PendingIntent contentIntent = PendingIntent.getActivity(ApplicationLoader.applicationContext, 0, intent2, 0); + PendingIntent contentIntent = PendingIntent.getActivity(ApplicationLoader.applicationContext, 0, intent2, PendingIntent.FLAG_IMMUTABLE); builder = new NotificationCompat.Builder(ApplicationLoader.applicationContext); builder.setWhen(System.currentTimeMillis()); @@ -142,7 +142,7 @@ public class LocationSharingService extends Service implements NotificationCente builder.setChannelId(NotificationsController.OTHER_NOTIFICATIONS_CHANNEL); builder.setContentTitle(LocaleController.getString("AppName", R.string.AppName)); Intent stopIntent = new Intent(ApplicationLoader.applicationContext, StopLiveLocationReceiver.class); - builder.addAction(0, LocaleController.getString("StopLiveLocation", R.string.StopLiveLocation), PendingIntent.getBroadcast(ApplicationLoader.applicationContext, 2, stopIntent, PendingIntent.FLAG_UPDATE_CURRENT)); + builder.addAction(0, LocaleController.getString("StopLiveLocation", R.string.StopLiveLocation), PendingIntent.getBroadcast(ApplicationLoader.applicationContext, 2, stopIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE)); } updateNotification(false); diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/MusicBrowserService.java b/TMessagesProj/src/main/java/org/telegram/messenger/MusicBrowserService.java index f1c54e889..23e901857 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/MusicBrowserService.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/MusicBrowserService.java @@ -97,7 +97,7 @@ public class MusicBrowserService extends MediaBrowserService implements Notifica Context context = getApplicationContext(); Intent intent = new Intent(context, LaunchActivity.class); - PendingIntent pi = PendingIntent.getActivity(context, 99, intent, PendingIntent.FLAG_UPDATE_CURRENT); + PendingIntent pi = PendingIntent.getActivity(context, 99, intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); mediaSession.setSessionActivity(pi); Bundle extras = new Bundle(); diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/MusicPlayerService.java b/TMessagesProj/src/main/java/org/telegram/messenger/MusicPlayerService.java index 27b1f1255..47e7df35b 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/MusicPlayerService.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/MusicPlayerService.java @@ -171,7 +171,7 @@ public class MusicPlayerService extends Service implements NotificationCenter.No audioManager.registerMediaButtonEventReceiver(remoteComponentName); Intent mediaButtonIntent = new Intent(Intent.ACTION_MEDIA_BUTTON); mediaButtonIntent.setComponent(remoteComponentName); - PendingIntent mediaPendingIntent = PendingIntent.getBroadcast(this, 0, mediaButtonIntent, 0); + PendingIntent mediaPendingIntent = PendingIntent.getBroadcast(this, 0, mediaButtonIntent, PendingIntent.FLAG_IMMUTABLE); remoteControlClient = new RemoteControlClient(mediaPendingIntent); audioManager.registerRemoteControlClient(remoteControlClient); } @@ -218,7 +218,7 @@ public class MusicPlayerService extends Service implements NotificationCenter.No Intent intent = new Intent(ApplicationLoader.applicationContext, LaunchActivity.class); intent.setAction("com.tmessages.openplayer"); intent.addCategory(Intent.CATEGORY_LAUNCHER); - PendingIntent contentIntent = PendingIntent.getActivity(ApplicationLoader.applicationContext, 0, intent, 0); + PendingIntent contentIntent = PendingIntent.getActivity(ApplicationLoader.applicationContext, 0, intent, PendingIntent.FLAG_IMMUTABLE); Notification notification; @@ -245,12 +245,12 @@ public class MusicPlayerService extends Service implements NotificationCenter.No if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { boolean isPlaying = !MediaController.getInstance().isMessagePaused(); - PendingIntent pendingPrev = PendingIntent.getBroadcast(getApplicationContext(), 0, new Intent(NOTIFY_PREVIOUS).setComponent(new ComponentName(this, MusicPlayerReceiver.class)), PendingIntent.FLAG_CANCEL_CURRENT); - //PendingIntent pendingStop = PendingIntent.getBroadcast(getApplicationContext(), 0, new Intent(NOTIFY_CLOSE).setComponent(new ComponentName(this, MusicPlayerReceiver.class)), PendingIntent.FLAG_CANCEL_CURRENT); - PendingIntent pendingStop = PendingIntent.getService(getApplicationContext(), 0, new Intent(this, getClass()).setAction(getPackageName() + ".STOP_PLAYER"), PendingIntent.FLAG_CANCEL_CURRENT); - PendingIntent pendingPlaypause = PendingIntent.getBroadcast(getApplicationContext(), 0, new Intent(isPlaying ? NOTIFY_PAUSE : NOTIFY_PLAY).setComponent(new ComponentName(this, MusicPlayerReceiver.class)), PendingIntent.FLAG_CANCEL_CURRENT); - PendingIntent pendingNext = PendingIntent.getBroadcast(getApplicationContext(), 0, new Intent(NOTIFY_NEXT).setComponent(new ComponentName(this, MusicPlayerReceiver.class)), PendingIntent.FLAG_CANCEL_CURRENT); - PendingIntent pendingSeek = PendingIntent.getBroadcast(getApplicationContext(), 0, new Intent(NOTIFY_SEEK).setComponent(new ComponentName(this, MusicPlayerReceiver.class)), PendingIntent.FLAG_CANCEL_CURRENT); + PendingIntent pendingPrev = PendingIntent.getBroadcast(getApplicationContext(), 0, new Intent(NOTIFY_PREVIOUS).setComponent(new ComponentName(this, MusicPlayerReceiver.class)), PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_IMMUTABLE); + //PendingIntent pendingStop = PendingIntent.getBroadcast(getApplicationContext(), 0, new Intent(NOTIFY_CLOSE).setComponent(new ComponentName(this, MusicPlayerReceiver.class)), PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_IMMUTABLE); + PendingIntent pendingStop = PendingIntent.getService(getApplicationContext(), 0, new Intent(this, getClass()).setAction(getPackageName() + ".STOP_PLAYER"), PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_IMMUTABLE); + PendingIntent pendingPlaypause = PendingIntent.getBroadcast(getApplicationContext(), 0, new Intent(isPlaying ? NOTIFY_PAUSE : NOTIFY_PLAY).setComponent(new ComponentName(this, MusicPlayerReceiver.class)), PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_IMMUTABLE); + PendingIntent pendingNext = PendingIntent.getBroadcast(getApplicationContext(), 0, new Intent(NOTIFY_NEXT).setComponent(new ComponentName(this, MusicPlayerReceiver.class)), PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_IMMUTABLE); + PendingIntent pendingSeek = PendingIntent.getBroadcast(getApplicationContext(), 0, new Intent(NOTIFY_SEEK).setComponent(new ComponentName(this, MusicPlayerReceiver.class)), PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_IMMUTABLE); Notification.Builder bldr = new Notification.Builder(this); bldr.setSmallIcon(R.drawable.player) @@ -479,15 +479,15 @@ public class MusicPlayerService extends Service implements NotificationCenter.No } public void setListeners(RemoteViews view) { - PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 0, new Intent(NOTIFY_PREVIOUS), PendingIntent.FLAG_UPDATE_CURRENT); + PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 0, new Intent(NOTIFY_PREVIOUS), PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); view.setOnClickPendingIntent(R.id.player_previous, pendingIntent); - pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 0, new Intent(NOTIFY_CLOSE), PendingIntent.FLAG_UPDATE_CURRENT); + pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 0, new Intent(NOTIFY_CLOSE), PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); view.setOnClickPendingIntent(R.id.player_close, pendingIntent); - pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 0, new Intent(NOTIFY_PAUSE), PendingIntent.FLAG_UPDATE_CURRENT); + pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 0, new Intent(NOTIFY_PAUSE), PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); view.setOnClickPendingIntent(R.id.player_pause, pendingIntent); - pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 0, new Intent(NOTIFY_NEXT), PendingIntent.FLAG_UPDATE_CURRENT); + pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 0, new Intent(NOTIFY_NEXT), PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); view.setOnClickPendingIntent(R.id.player_next, pendingIntent); - pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 0, new Intent(NOTIFY_PLAY), PendingIntent.FLAG_UPDATE_CURRENT); + pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), 0, new Intent(NOTIFY_PLAY), PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); view.setOnClickPendingIntent(R.id.player_play, pendingIntent); } diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/NotificationsController.java b/TMessagesProj/src/main/java/org/telegram/messenger/NotificationsController.java index 588be4aba..61c52db15 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/NotificationsController.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/NotificationsController.java @@ -2528,7 +2528,7 @@ public class NotificationsController extends BaseController { try { Intent intent = new Intent(ApplicationLoader.applicationContext, NotificationRepeat.class); intent.putExtra("currentAccount", currentAccount); - PendingIntent pintent = PendingIntent.getService(ApplicationLoader.applicationContext, 0, intent, 0); + PendingIntent pintent = PendingIntent.getService(ApplicationLoader.applicationContext, 0, intent, PendingIntent.FLAG_MUTABLE); SharedPreferences preferences = getAccountInstance().getNotificationsSettings(); int minutes = preferences.getInt("repeat_messages", 60); if (minutes > 0 && personalCount > 0) { @@ -2907,7 +2907,7 @@ public class NotificationsController extends BaseController { } NotificationCompat.BubbleMetadata.Builder bubbleBuilder = new NotificationCompat.BubbleMetadata.Builder( - PendingIntent.getActivity(ApplicationLoader.applicationContext, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT), + PendingIntent.getActivity(ApplicationLoader.applicationContext, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_MUTABLE), icon); bubbleBuilder.setSuppressNotification(openedDialogId == did); bubbleBuilder.setAutoExpandBubble(false); @@ -3672,7 +3672,7 @@ public class NotificationsController extends BaseController { } } intent.putExtra("currentAccount", currentAccount); - PendingIntent contentIntent = PendingIntent.getActivity(ApplicationLoader.applicationContext, 0, intent, PendingIntent.FLAG_ONE_SHOT); + PendingIntent contentIntent = PendingIntent.getActivity(ApplicationLoader.applicationContext, 0, intent, PendingIntent.FLAG_ONE_SHOT | PendingIntent.FLAG_IMMUTABLE); mBuilder.setContentTitle(name) .setSmallIcon(R.drawable.notification) @@ -3696,7 +3696,7 @@ public class NotificationsController extends BaseController { Intent dismissIntent = new Intent(ApplicationLoader.applicationContext, NotificationDismissReceiver.class); dismissIntent.putExtra("messageDate", lastMessageObject.messageOwner.date); dismissIntent.putExtra("currentAccount", currentAccount); - mBuilder.setDeleteIntent(PendingIntent.getBroadcast(ApplicationLoader.applicationContext, 1, dismissIntent, PendingIntent.FLAG_UPDATE_CURRENT)); + mBuilder.setDeleteIntent(PendingIntent.getBroadcast(ApplicationLoader.applicationContext, 1, dismissIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE)); if (photoPath != null) { BitmapDrawable img = ImageLoader.getInstance().getImageFromMemory(photoPath, null, "50_50"); @@ -3815,7 +3815,7 @@ public class NotificationsController extends BaseController { callbackIntent.putExtra("data", button.data); } callbackIntent.putExtra("mid", lastMessageObject.getId()); - mBuilder.addAction(0, button.text, PendingIntent.getBroadcast(ApplicationLoader.applicationContext, lastButtonId++, callbackIntent, PendingIntent.FLAG_UPDATE_CURRENT)); + mBuilder.addAction(0, button.text, PendingIntent.getBroadcast(ApplicationLoader.applicationContext, lastButtonId++, callbackIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE)); hasCallback = true; } } @@ -3829,7 +3829,7 @@ public class NotificationsController extends BaseController { if (Build.VERSION.SDK_INT <= 19) { mBuilder.addAction(R.drawable.ic_ab_reply2, LocaleController.getString("Reply", R.string.Reply), PendingIntent.getBroadcast(ApplicationLoader.applicationContext, 2, replyIntent, PendingIntent.FLAG_UPDATE_CURRENT)); } else { - mBuilder.addAction(R.drawable.ic_ab_reply, LocaleController.getString("Reply", R.string.Reply), PendingIntent.getBroadcast(ApplicationLoader.applicationContext, 2, replyIntent, PendingIntent.FLAG_UPDATE_CURRENT)); + mBuilder.addAction(R.drawable.ic_ab_reply, LocaleController.getString("Reply", R.string.Reply), PendingIntent.getBroadcast(ApplicationLoader.applicationContext, 2, replyIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE)); } } showExtraNotifications(mBuilder, detailText, dialog_id, chatName, vibrationPattern, ledColor, sound, configImportance, isDefault, isInApp, notifyDisabled, chatType); @@ -4116,7 +4116,7 @@ public class NotificationsController extends BaseController { replyIntent.putExtra("dialog_id", dialogId); replyIntent.putExtra("max_id", maxId); replyIntent.putExtra("currentAccount", currentAccount); - PendingIntent replyPendingIntent = PendingIntent.getBroadcast(ApplicationLoader.applicationContext, internalId, replyIntent, PendingIntent.FLAG_UPDATE_CURRENT); + PendingIntent replyPendingIntent = PendingIntent.getBroadcast(ApplicationLoader.applicationContext, internalId, replyIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_MUTABLE); RemoteInput remoteInputWear = new RemoteInput.Builder(EXTRA_VOICE_REPLY).setLabel(LocaleController.getString("Reply", R.string.Reply)).build(); String replyToString; if (DialogObject.isChatDialog(dialogId)) { @@ -4348,7 +4348,7 @@ public class NotificationsController extends BaseController { intent.putExtra("chatId", -dialogId); } intent.putExtra("currentAccount", currentAccount); - PendingIntent contentIntent = PendingIntent.getActivity(ApplicationLoader.applicationContext, 0, intent, PendingIntent.FLAG_ONE_SHOT); + PendingIntent contentIntent = PendingIntent.getActivity(ApplicationLoader.applicationContext, 0, intent, PendingIntent.FLAG_ONE_SHOT | PendingIntent.FLAG_IMMUTABLE); NotificationCompat.WearableExtender wearableExtender = new NotificationCompat.WearableExtender(); if (wearReplyAction != null) { @@ -4360,7 +4360,7 @@ public class NotificationsController extends BaseController { msgHeardIntent.putExtra("dialog_id", dialogId); msgHeardIntent.putExtra("max_id", maxId); msgHeardIntent.putExtra("currentAccount", currentAccount); - PendingIntent readPendingIntent = PendingIntent.getBroadcast(ApplicationLoader.applicationContext, internalId, msgHeardIntent, PendingIntent.FLAG_UPDATE_CURRENT); + PendingIntent readPendingIntent = PendingIntent.getBroadcast(ApplicationLoader.applicationContext, internalId, msgHeardIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); NotificationCompat.Action readAction = new NotificationCompat.Action.Builder(R.drawable.menu_read, LocaleController.getString("MarkAsRead", R.string.MarkAsRead), readPendingIntent) .setSemanticAction(NotificationCompat.Action.SEMANTIC_ACTION_MARK_AS_READ) .setShowsUserInterface(false) @@ -4409,7 +4409,7 @@ public class NotificationsController extends BaseController { dismissIntent.putExtra("messageDate", maxDate); dismissIntent.putExtra("dialogId", dialogId); dismissIntent.putExtra("currentAccount", currentAccount); - builder.setDeleteIntent(PendingIntent.getBroadcast(ApplicationLoader.applicationContext, internalId, dismissIntent, PendingIntent.FLAG_UPDATE_CURRENT)); + builder.setDeleteIntent(PendingIntent.getBroadcast(ApplicationLoader.applicationContext, internalId, dismissIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE)); if (useSummaryNotification) { builder.setGroup(notificationGroup); @@ -4446,7 +4446,7 @@ public class NotificationsController extends BaseController { callbackIntent.putExtra("data", button.data); } callbackIntent.putExtra("mid", rowsMid); - builder.addAction(0, button.text, PendingIntent.getBroadcast(ApplicationLoader.applicationContext, lastButtonId++, callbackIntent, PendingIntent.FLAG_UPDATE_CURRENT)); + builder.addAction(0, button.text, PendingIntent.getBroadcast(ApplicationLoader.applicationContext, lastButtonId++, callbackIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE)); } } } diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/browser/Browser.java b/TMessagesProj/src/main/java/org/telegram/messenger/browser/Browser.java index 007ccc3ea..78ae8f401 100644 --- a/TMessagesProj/src/main/java/org/telegram/messenger/browser/Browser.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/browser/Browser.java @@ -322,14 +322,14 @@ public class Browser { Intent share = new Intent(ApplicationLoader.applicationContext, ShareBroadcastReceiver.class); share.setAction(Intent.ACTION_SEND); - PendingIntent copy = PendingIntent.getBroadcast(ApplicationLoader.applicationContext, 0, new Intent(ApplicationLoader.applicationContext, CustomTabsCopyReceiver.class), PendingIntent.FLAG_UPDATE_CURRENT); + PendingIntent copy = PendingIntent.getBroadcast(ApplicationLoader.applicationContext, 0, new Intent(ApplicationLoader.applicationContext, CustomTabsCopyReceiver.class), PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE); CustomTabsIntent.Builder builder = new CustomTabsIntent.Builder(getSession()); builder.addMenuItem(LocaleController.getString("CopyLink", R.string.CopyLink), copy); builder.setToolbarColor(Theme.getColor(Theme.key_actionBarBrowser)); builder.setShowTitle(true); - builder.setActionButton(BitmapFactory.decodeResource(context.getResources(), R.drawable.abc_ic_menu_share_mtrl_alpha), LocaleController.getString("ShareFile", R.string.ShareFile), PendingIntent.getBroadcast(ApplicationLoader.applicationContext, 0, share, 0), true); + builder.setActionButton(BitmapFactory.decodeResource(context.getResources(), R.drawable.abc_ic_menu_share_mtrl_alpha), LocaleController.getString("ShareFile", R.string.ShareFile), PendingIntent.getBroadcast(ApplicationLoader.applicationContext, 0, share, PendingIntent.FLAG_IMMUTABLE), true); CustomTabsIntent intent = builder.build(); intent.setUseNewTask(); intent.launchUrl(context, uri); diff --git a/TMessagesProj/src/main/java/org/telegram/messenger/voip/VoIPService.java b/TMessagesProj/src/main/java/org/telegram/messenger/voip/VoIPService.java index 5401fc077..df5b4ace8 100755 --- a/TMessagesProj/src/main/java/org/telegram/messenger/voip/VoIPService.java +++ b/TMessagesProj/src/main/java/org/telegram/messenger/voip/VoIPService.java @@ -1554,7 +1554,7 @@ public class VoIPService extends Service implements SensorEventListener, AudioMa .putExtra("call_access_hash", privateCall.access_hash) .putExtra("call_video", privateCall.video) .putExtra("account", currentAccount) - .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP), 0).send(); + .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP), PendingIntent.FLAG_IMMUTABLE).send(); } catch (Exception x) { if (BuildVars.LOGS_ENABLED) { FileLog.e("Error starting incall activity", x); @@ -2850,7 +2850,7 @@ public class VoIPService extends Service implements SensorEventListener, AudioMa } Notification.Builder builder = new Notification.Builder(this) .setContentText(name) - .setContentIntent(PendingIntent.getActivity(this, 50, intent, 0)); + .setContentIntent(PendingIntent.getActivity(this, 50, intent, PendingIntent.FLAG_IMMUTABLE)); if (groupCall != null) { builder.setContentTitle(ChatObject.isChannelOrGiga(chat) ? LocaleController.getString("VoipLiveStream", R.string.VoipLiveStream) : LocaleController.getString("VoipVoiceChat", R.string.VoipVoiceChat)); builder.setSmallIcon(isMicMute() ? R.drawable.voicechat_muted : R.drawable.voicechat_active); @@ -2862,9 +2862,9 @@ public class VoIPService extends Service implements SensorEventListener, AudioMa Intent endIntent = new Intent(this, VoIPActionsReceiver.class); endIntent.setAction(getPackageName() + ".END_CALL"); if (groupCall != null) { - builder.addAction(R.drawable.ic_call_end_white_24dp, ChatObject.isChannelOrGiga(chat) ? LocaleController.getString("VoipChannelLeaveAlertTitle", R.string.VoipChannelLeaveAlertTitle) : LocaleController.getString("VoipGroupLeaveAlertTitle", R.string.VoipGroupLeaveAlertTitle), PendingIntent.getBroadcast(this, 0, endIntent, PendingIntent.FLAG_UPDATE_CURRENT)); + builder.addAction(R.drawable.ic_call_end_white_24dp, ChatObject.isChannelOrGiga(chat) ? LocaleController.getString("VoipChannelLeaveAlertTitle", R.string.VoipChannelLeaveAlertTitle) : LocaleController.getString("VoipGroupLeaveAlertTitle", R.string.VoipGroupLeaveAlertTitle), PendingIntent.getBroadcast(this, 0, endIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE)); } else { - builder.addAction(R.drawable.ic_call_end_white_24dp, LocaleController.getString("VoipEndCall", R.string.VoipEndCall), PendingIntent.getBroadcast(this, 0, endIntent, PendingIntent.FLAG_UPDATE_CURRENT)); + builder.addAction(R.drawable.ic_call_end_white_24dp, LocaleController.getString("VoipEndCall", R.string.VoipEndCall), PendingIntent.getBroadcast(this, 0, endIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE)); } builder.setPriority(Notification.PRIORITY_MAX); } @@ -3305,7 +3305,7 @@ public class VoIPService extends Service implements SensorEventListener, AudioMa FileLog.d("Starting incall activity for incoming call"); } try { - PendingIntent.getActivity(VoIPService.this, 12345, new Intent(VoIPService.this, LaunchActivity.class).setAction("voip"), 0).send(); + PendingIntent.getActivity(VoIPService.this, 12345, new Intent(VoIPService.this, LaunchActivity.class).setAction("voip"), PendingIntent.FLAG_IMMUTABLE).send(); } catch (Exception x) { if (BuildVars.LOGS_ENABLED) { FileLog.e("Error starting incall activity", x); @@ -3858,7 +3858,7 @@ public class VoIPService extends Service implements SensorEventListener, AudioMa .setContentText(name) .setSmallIcon(R.drawable.notification) .setSubText(subText) - .setContentIntent(PendingIntent.getActivity(this, 0, intent, 0)); + .setContentIntent(PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_IMMUTABLE)); Uri soundProviderUri = Uri.parse("content://" + BuildConfig.APPLICATION_ID + ".call_sound_provider/start_ringing"); if (Build.VERSION.SDK_INT >= 26) { SharedPreferences nprefs = MessagesController.getGlobalNotificationsSettings(); @@ -3913,7 +3913,7 @@ public class VoIPService extends Service implements SensorEventListener, AudioMa endTitle = new SpannableString(endTitle); ((SpannableString) endTitle).setSpan(new ForegroundColorSpan(0xFFF44336), 0, endTitle.length(), 0); } - PendingIntent endPendingIntent = PendingIntent.getBroadcast(this, 0, endIntent, PendingIntent.FLAG_CANCEL_CURRENT); + PendingIntent endPendingIntent = PendingIntent.getBroadcast(this, 0, endIntent, PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_IMMUTABLE); builder.addAction(R.drawable.ic_call_end_white_24dp, endTitle, endPendingIntent); Intent answerIntent = new Intent(this, VoIPActionsReceiver.class); answerIntent.setAction(getPackageName() + ".ANSWER_CALL"); @@ -3923,7 +3923,7 @@ public class VoIPService extends Service implements SensorEventListener, AudioMa answerTitle = new SpannableString(answerTitle); ((SpannableString) answerTitle).setSpan(new ForegroundColorSpan(0xFF00AA00), 0, answerTitle.length(), 0); } - PendingIntent answerPendingIntent = PendingIntent.getBroadcast(this, 0, answerIntent, PendingIntent.FLAG_CANCEL_CURRENT); + PendingIntent answerPendingIntent = PendingIntent.getBroadcast(this, 0, answerIntent, PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_IMMUTABLE); builder.addAction(R.drawable.ic_call, answerTitle, answerPendingIntent); builder.setPriority(Notification.PRIORITY_MAX); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { @@ -3933,7 +3933,7 @@ public class VoIPService extends Service implements SensorEventListener, AudioMa builder.setColor(0xff2ca5e0); builder.setVibrate(new long[0]); builder.setCategory(Notification.CATEGORY_CALL); - builder.setFullScreenIntent(PendingIntent.getActivity(this, 0, intent, 0), true); + builder.setFullScreenIntent(PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_IMMUTABLE), true); if (userOrChat instanceof TLRPC.User) { TLRPC.User user = (TLRPC.User) userOrChat; if (!TextUtils.isEmpty(user.phone)) { @@ -4213,7 +4213,7 @@ public class VoIPService extends Service implements SensorEventListener, AudioMa if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && Build.VERSION.SDK_INT < Build.VERSION_CODES.R && (checkSelfPermission(Manifest.permission.RECORD_AUDIO) != PackageManager.PERMISSION_GRANTED || privateCall.video && checkSelfPermission(Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED)) { try { //intent.addFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT); - PendingIntent.getActivity(VoIPService.this, 0, new Intent(VoIPService.this, VoIPPermissionActivity.class).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK), PendingIntent.FLAG_ONE_SHOT).send(); + PendingIntent.getActivity(VoIPService.this, 0, new Intent(VoIPService.this, VoIPPermissionActivity.class).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK), PendingIntent.FLAG_ONE_SHOT | PendingIntent.FLAG_IMMUTABLE).send(); } catch (Exception x) { if (BuildVars.LOGS_ENABLED) { FileLog.e("Error starting permission activity", x); @@ -4223,7 +4223,7 @@ public class VoIPService extends Service implements SensorEventListener, AudioMa } acceptIncomingCall(); try { - PendingIntent.getActivity(VoIPService.this, 0, new Intent(VoIPService.this, getUIActivityClass()).setAction("voip"), 0).send(); + PendingIntent.getActivity(VoIPService.this, 0, new Intent(VoIPService.this, getUIActivityClass()).setAction("voip"), PendingIntent.FLAG_IMMUTABLE).send(); } catch (Exception x) { if (BuildVars.LOGS_ENABLED) { FileLog.e("Error starting incall activity", x);