Closes #268: Integrate feature-intent component
parent
8ac32ee988
commit
6c06651ecc
@ -0,0 +1,27 @@
|
||||
package org.mozilla.fenix
|
||||
|
||||
import android.app.Activity
|
||||
import android.content.Intent
|
||||
import android.os.Bundle
|
||||
import mozilla.components.browser.session.tab.CustomTabConfig
|
||||
import mozilla.components.support.utils.SafeIntent
|
||||
import org.mozilla.fenix.ext.components
|
||||
|
||||
class IntentReceiverActivity : Activity() {
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
|
||||
components.utils.intentProcessor.process(intent)
|
||||
|
||||
val intent = Intent(intent)
|
||||
if (CustomTabConfig.isCustomTabIntent(SafeIntent(intent))) {
|
||||
// TODO Enter CustomTabActivity here.
|
||||
} else {
|
||||
intent.setClassName(applicationContext, HomeActivity::class.java.name)
|
||||
}
|
||||
|
||||
startActivity(intent)
|
||||
finish()
|
||||
}
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
package org.mozilla.fenix.components
|
||||
|
||||
import android.content.Context
|
||||
import mozilla.components.browser.session.SessionManager
|
||||
import mozilla.components.feature.intent.IntentProcessor
|
||||
import mozilla.components.feature.search.SearchUseCases
|
||||
import mozilla.components.feature.session.SessionUseCases
|
||||
|
||||
|
||||
/**
|
||||
* Component group for miscellaneous components.
|
||||
*/
|
||||
class Utilities(
|
||||
private val context: Context,
|
||||
private val sessionManager: SessionManager,
|
||||
private val sessionUseCases: SessionUseCases,
|
||||
private val searchUseCases: SearchUseCases
|
||||
) {
|
||||
/**
|
||||
* Provides intent processing functionality for CustomTab, ACTION_VIEW
|
||||
* and ACTION_SEND intents.
|
||||
*/
|
||||
val intentProcessor by lazy {
|
||||
IntentProcessor(sessionUseCases, sessionManager, searchUseCases, context)
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue