1
0
Fork 0

Fixes #706: Adds launchMode singleInstance (#829)

master
Sawyer Blatz 2019-03-04 14:32:10 -08:00 committed by GitHub
parent f5c3e0e35e
commit e200807a7a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 3 deletions

View File

@ -21,6 +21,7 @@
android:usesCleartextTraffic="true"
tools:ignore="UnusedAttribute">
<activity android:name=".HomeActivity"
android:launchMode="singleInstance"
android:windowSoftInputMode="adjustResize">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>

View File

@ -6,6 +6,7 @@ package org.mozilla.fenix
import android.app.Activity
import android.content.Context
import android.content.Intent
import android.os.Bundle
import android.util.AttributeSet
import android.view.View
@ -24,6 +25,7 @@ import mozilla.components.support.ktx.kotlin.toNormalizedUrl
import mozilla.components.support.utils.SafeIntent
import org.mozilla.fenix.ext.components
@SuppressWarnings("TooManyFunctions")
open class HomeActivity : AppCompatActivity() {
val themeManager = DefaultThemeManager().also {
it.onThemeChange = { theme ->
@ -51,9 +53,12 @@ open class HomeActivity : AppCompatActivity() {
setSupportActionBar(navigationToolbar)
NavigationUI.setupWithNavController(navigationToolbar, hostNavController, appBarConfiguration)
if (intent?.extras?.getBoolean(OPEN_TO_BROWSER) == true) {
handleOpenedFromExternalSource()
}
handleOpenedFromExternalSourceIfNecessary()
}
override fun onNewIntent(intent: Intent?) {
super.onNewIntent(intent)
handleOpenedFromExternalSourceIfNecessary()
}
override fun onCreateView(
@ -90,6 +95,12 @@ open class HomeActivity : AppCompatActivity() {
}
}
private fun handleOpenedFromExternalSourceIfNecessary() {
if (intent?.extras?.getBoolean(OPEN_TO_BROWSER) == true) {
handleOpenedFromExternalSource()
}
}
private fun handleOpenedFromExternalSource() {
intent?.putExtra(OPEN_TO_BROWSER, false)
openToBrowser(SafeIntent(intent).getStringExtra(IntentProcessor.ACTIVE_SESSION_ID))