mirror of
https://github.com/fork-maintainers/iceraven-browser
synced 2024-11-02 03:40:16 +00:00
[fenix] Fix blank custom tabs following an NPE.
Fixes https://github.com/mozilla-mobile/fenix/issues/1771. This PR protects against the initial `NullPointerException` ever happening. This is a rare case, and we do not have anything to go on at this point, so we fallback to a new intent, and the user is routed to the home activity.
This commit is contained in:
parent
8f35a7422e
commit
3e96e202e8
@ -18,6 +18,11 @@ class IntentReceiverActivity : Activity() {
|
|||||||
override fun onCreate(savedInstanceState: Bundle?) {
|
override fun onCreate(savedInstanceState: Bundle?) {
|
||||||
super.onCreate(savedInstanceState)
|
super.onCreate(savedInstanceState)
|
||||||
|
|
||||||
|
// The intent property is nullable, but the rest of the code below
|
||||||
|
// assumes it is not. If it's null, then we make a new one and open
|
||||||
|
// the HomeActivity.
|
||||||
|
val intent = intent?.let { Intent(intent) } ?: Intent()
|
||||||
|
|
||||||
val isPrivate = PreferenceManager
|
val isPrivate = PreferenceManager
|
||||||
.getDefaultSharedPreferences(this).getBoolean(getString(R.string.pref_key_private_mode), false)
|
.getDefaultSharedPreferences(this).getBoolean(getString(R.string.pref_key_private_mode), false)
|
||||||
|
|
||||||
@ -27,11 +32,7 @@ class IntentReceiverActivity : Activity() {
|
|||||||
components.utils.intentProcessor.process(intent)
|
components.utils.intentProcessor.process(intent)
|
||||||
}
|
}
|
||||||
|
|
||||||
val openToBrowser: Boolean
|
val openToBrowser = when {
|
||||||
|
|
||||||
val intent = Intent(intent)
|
|
||||||
|
|
||||||
openToBrowser = when {
|
|
||||||
CustomTabConfig.isCustomTabIntent(SafeIntent(intent)) -> {
|
CustomTabConfig.isCustomTabIntent(SafeIntent(intent)) -> {
|
||||||
intent.setClassName(applicationContext, CustomTabActivity::class.java.name)
|
intent.setClassName(applicationContext, CustomTabActivity::class.java.name)
|
||||||
true
|
true
|
||||||
|
Loading…
Reference in New Issue
Block a user