@@ -39,6 +39,9 @@ import im.vector.app.features.analytics.VectorAnalytics
39
39
import im.vector.app.features.analytics.plan.ViewRoom
40
40
import im.vector.app.features.home.HomeActivity
41
41
import im.vector.app.features.home.ShortcutsHandler
42
+ import im.vector.app.features.home.room.detail.RoomDetailActivity
43
+ import im.vector.app.features.home.room.threads.ThreadsActivity
44
+ import im.vector.app.features.location.live.map.LiveLocationMapViewActivity
42
45
import im.vector.app.features.notifications.NotificationDrawerManager
43
46
import im.vector.app.features.pin.UnlockedActivity
44
47
import im.vector.app.features.pin.lockscreen.crypto.LockScreenKeyRepository
@@ -115,6 +118,14 @@ class MainActivity : VectorBaseActivity<ActivityMainBinding>(), UnlockedActivity
115
118
putExtra(EXTRA_ROOM_ID , roomId)
116
119
}
117
120
}
121
+
122
+ val allowList = listOf (
123
+ HomeActivity ::class .java.name,
124
+ MainActivity ::class .java.name,
125
+ RoomDetailActivity ::class .java.name,
126
+ ThreadsActivity ::class .java.name,
127
+ LiveLocationMapViewActivity ::class .java.name,
128
+ )
118
129
}
119
130
120
131
private val startAppViewModel: StartAppViewModel by viewModel()
@@ -186,6 +197,7 @@ class MainActivity : VectorBaseActivity<ActivityMainBinding>(), UnlockedActivity
186
197
// Start the next Activity
187
198
startSyncing()
188
199
val nextIntent = intent.getParcelableExtraCompat<Intent >(EXTRA_NEXT_INTENT )
200
+ ?.takeIf { it.isValid() }
189
201
startIntentAndFinish(nextIntent)
190
202
} else if (intent.hasExtra(EXTRA_INIT_SESSION )) {
191
203
startSyncing()
@@ -380,4 +392,11 @@ class MainActivity : VectorBaseActivity<ActivityMainBinding>(), UnlockedActivity
380
392
intent?.let { startActivity(it) }
381
393
finish()
382
394
}
395
+
396
+ private fun Intent.isValid (): Boolean {
397
+ val componentName = resolveActivity(packageManager) ? : return false
398
+ val packageName = componentName.packageName
399
+ val className = componentName.className
400
+ return packageName == buildMeta.applicationId && className in allowList
401
+ }
383
402
}
0 commit comments