diff options
author | Brad Ebinger <breadley@google.com> | 2021-03-01 20:33:40 +0000 |
---|---|---|
committer | Brad Ebinger <breadley@google.com> | 2021-03-01 20:33:40 +0000 |
commit | 250828c0f42a09cc8d6bb4c265b78a4d106401ba (patch) | |
tree | d3073ff21daeceb82d591280299aad92e1eee14a | |
parent | 917fad81b34d761861af3c23ae59db86d19f7e31 (diff) | |
download | ims-250828c0f42a09cc8d6bb4c265b78a4d106401ba.tar.gz |
Tag appropriate AlarmManager intents with FLAG_IMMUTABLE
Fix an issue where capability polling was not working due to
the associated AlarmManager intents not defining FLAG_IMMUTABLE
Test: Enable capability polling and ensure network polling starts
Change-Id: I73e048d3d6d6f2976b9833db53ea40c55a55a30b
3 files changed, 3 insertions, 5 deletions
diff --git a/rcs/presencepolling/src/com/android/service/ims/presence/CapabilityPolling.java b/rcs/presencepolling/src/com/android/service/ims/presence/CapabilityPolling.java index 947b7bc..a92d133 100644 --- a/rcs/presencepolling/src/com/android/service/ims/presence/CapabilityPolling.java +++ b/rcs/presencepolling/src/com/android/service/ims/presence/CapabilityPolling.java @@ -473,7 +473,7 @@ public class CapabilityPolling { intent.putExtra("pollingType", type); mDiscoveryAlarmIntent = PendingIntent.getBroadcast(mContext, 0, intent, - PendingIntent.FLAG_UPDATE_CURRENT); + PendingIntent.FLAG_IMMUTABLE | PendingIntent.FLAG_UPDATE_CURRENT); mAlarmManager.setExact(AlarmManager.ELAPSED_REALTIME_WAKEUP, SystemClock.elapsedRealtime() + msec, mDiscoveryAlarmIntent); diff --git a/rcs/presencepolling/src/com/android/service/ims/presence/PollingTask.java b/rcs/presencepolling/src/com/android/service/ims/presence/PollingTask.java index f3b17dd..b9835bb 100644 --- a/rcs/presencepolling/src/com/android/service/ims/presence/PollingTask.java +++ b/rcs/presencepolling/src/com/android/service/ims/presence/PollingTask.java @@ -201,7 +201,7 @@ public class PollingTask { intent.putExtra("pollingTaskId", mId); mRetryAlarmIntent = PendingIntent.getBroadcast(mContext, 0, intent, - PendingIntent.FLAG_UPDATE_CURRENT); + PendingIntent.FLAG_IMMUTABLE | PendingIntent.FLAG_UPDATE_CURRENT); AlarmManager alarmManager = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE); @@ -254,4 +254,3 @@ public class PollingTask { return sb.toString(); } } - diff --git a/rcs/rcsservice/src/com/android/service/ims/presence/PresenceCapabilityTask.java b/rcs/rcsservice/src/com/android/service/ims/presence/PresenceCapabilityTask.java index e94e51a..fb22b5e 100644 --- a/rcs/rcsservice/src/com/android/service/ims/presence/PresenceCapabilityTask.java +++ b/rcs/rcsservice/src/com/android/service/ims/presence/PresenceCapabilityTask.java @@ -109,7 +109,7 @@ public class PresenceCapabilityTask extends PresenceTask{ intent.setPackage(mContext.getPackageName()); intent.putExtra("taskId", mTaskId); PendingIntent mAlarmIntent = PendingIntent.getBroadcast(mContext, 0, intent, - PendingIntent.FLAG_ONE_SHOT); + PendingIntent.FLAG_IMMUTABLE | PendingIntent.FLAG_ONE_SHOT); if(sAlarmManager == null){ sAlarmManager = (AlarmManager)mContext.getSystemService(Context.ALARM_SERVICE); @@ -162,4 +162,3 @@ public class PresenceCapabilityTask extends PresenceTask{ TaskManager.getDefault().removeTask(mTaskId); } }; - |