mirror of
https://github.com/element-hq/element-android
synced 2024-10-22 18:56:29 +03:00
Merge pull request #1604 from vector-im/feature/fix_crash_notification
Feature/fix crash notification
This commit is contained in:
commit
b8f88d323d
2 changed files with 7 additions and 6 deletions
|
@ -8,6 +8,7 @@ Improvements 🙌:
|
||||||
-
|
-
|
||||||
|
|
||||||
Bugfix 🐛:
|
Bugfix 🐛:
|
||||||
|
- Fix crash when coming from a notification (#1601)
|
||||||
- Fix Exception when importing keys (#1576)
|
- Fix Exception when importing keys (#1576)
|
||||||
|
|
||||||
Translations 🗣:
|
Translations 🗣:
|
||||||
|
|
|
@ -205,7 +205,7 @@ class NotificationUtils @Inject constructor(private val context: Context,
|
||||||
@SuppressLint("NewApi")
|
@SuppressLint("NewApi")
|
||||||
fun buildForegroundServiceNotification(@StringRes subTitleResId: Int, withProgress: Boolean = true): Notification {
|
fun buildForegroundServiceNotification(@StringRes subTitleResId: Int, withProgress: Boolean = true): Notification {
|
||||||
// build the pending intent go to the home screen if this is clicked.
|
// build the pending intent go to the home screen if this is clicked.
|
||||||
val i = Intent(context, HomeActivity::class.java)
|
val i = HomeActivity.newIntent(context)
|
||||||
i.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP
|
i.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP
|
||||||
val pi = PendingIntent.getActivity(context, 0, i, 0)
|
val pi = PendingIntent.getActivity(context, 0, i, 0)
|
||||||
|
|
||||||
|
@ -307,7 +307,7 @@ class NotificationUtils @Inject constructor(private val context: Context,
|
||||||
val contentPendingIntent = PendingIntent.getActivity(context, System.currentTimeMillis().toInt(), contentIntent, 0)
|
val contentPendingIntent = PendingIntent.getActivity(context, System.currentTimeMillis().toInt(), contentIntent, 0)
|
||||||
|
|
||||||
val answerCallPendingIntent = TaskStackBuilder.create(context)
|
val answerCallPendingIntent = TaskStackBuilder.create(context)
|
||||||
.addNextIntentWithParentStack(Intent(context, HomeActivity::class.java))
|
.addNextIntentWithParentStack(HomeActivity.newIntent(context))
|
||||||
.addNextIntent(VectorCallActivity.newIntent(
|
.addNextIntent(VectorCallActivity.newIntent(
|
||||||
context = context,
|
context = context,
|
||||||
callId = callId,
|
callId = callId,
|
||||||
|
@ -459,7 +459,7 @@ class NotificationUtils @Inject constructor(private val context: Context,
|
||||||
)
|
)
|
||||||
|
|
||||||
val contentPendingIntent = TaskStackBuilder.create(context)
|
val contentPendingIntent = TaskStackBuilder.create(context)
|
||||||
.addNextIntentWithParentStack(Intent(context, HomeActivity::class.java))
|
.addNextIntentWithParentStack(HomeActivity.newIntent(context))
|
||||||
// TODO other userId
|
// TODO other userId
|
||||||
.addNextIntent(VectorCallActivity.newIntent(context, callId, roomId, "otherUserId", true, isVideo, null))
|
.addNextIntent(VectorCallActivity.newIntent(context, callId, roomId, "otherUserId", true, isVideo, null))
|
||||||
.getPendingIntent(System.currentTimeMillis().toInt(), PendingIntent.FLAG_UPDATE_CURRENT)
|
.getPendingIntent(System.currentTimeMillis().toInt(), PendingIntent.FLAG_UPDATE_CURRENT)
|
||||||
|
@ -651,7 +651,7 @@ class NotificationUtils @Inject constructor(private val context: Context,
|
||||||
stringProvider.getString(R.string.join),
|
stringProvider.getString(R.string.join),
|
||||||
joinIntentPendingIntent)
|
joinIntentPendingIntent)
|
||||||
|
|
||||||
val contentIntent = Intent(context, HomeActivity::class.java)
|
val contentIntent = HomeActivity.newIntent(context)
|
||||||
contentIntent.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP
|
contentIntent.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP
|
||||||
// pending intent get reused by system, this will mess up the extra params, so put unique info to avoid that
|
// pending intent get reused by system, this will mess up the extra params, so put unique info to avoid that
|
||||||
contentIntent.data = Uri.parse("foobar://" + inviteNotifiableEvent.eventId)
|
contentIntent.data = Uri.parse("foobar://" + inviteNotifiableEvent.eventId)
|
||||||
|
@ -689,7 +689,7 @@ class NotificationUtils @Inject constructor(private val context: Context,
|
||||||
.setColor(accentColor)
|
.setColor(accentColor)
|
||||||
.setAutoCancel(true)
|
.setAutoCancel(true)
|
||||||
.apply {
|
.apply {
|
||||||
val contentIntent = Intent(context, HomeActivity::class.java)
|
val contentIntent = HomeActivity.newIntent(context)
|
||||||
contentIntent.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP
|
contentIntent.flags = Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_SINGLE_TOP
|
||||||
// pending intent get reused by system, this will mess up the extra params, so put unique info to avoid that
|
// pending intent get reused by system, this will mess up the extra params, so put unique info to avoid that
|
||||||
contentIntent.data = Uri.parse("foobar://" + simpleNotifiableEvent.eventId)
|
contentIntent.data = Uri.parse("foobar://" + simpleNotifiableEvent.eventId)
|
||||||
|
@ -718,7 +718,7 @@ class NotificationUtils @Inject constructor(private val context: Context,
|
||||||
|
|
||||||
// Recreate the back stack
|
// Recreate the back stack
|
||||||
return TaskStackBuilder.create(context)
|
return TaskStackBuilder.create(context)
|
||||||
.addNextIntentWithParentStack(Intent(context, HomeActivity::class.java))
|
.addNextIntentWithParentStack(HomeActivity.newIntent(context))
|
||||||
.addNextIntent(roomIntentTap)
|
.addNextIntent(roomIntentTap)
|
||||||
.getPendingIntent(System.currentTimeMillis().toInt(), PendingIntent.FLAG_UPDATE_CURRENT)
|
.getPendingIntent(System.currentTimeMillis().toInt(), PendingIntent.FLAG_UPDATE_CURRENT)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue