Application to instantiate Plugin

Summary:
Plugin needs both the Context and Application. Application is Context. Pass Application.

:)

Reviewed By: LukeDefeo

Differential Revision: D38831033

fbshipit-source-id: ff12a8ddc875fb54389e591a1c1c9febedb3aa37
This commit is contained in:
Lorenzo Blasa
2022-08-19 08:47:58 -07:00
committed by Facebook GitHub Bot
parent fbbb793497
commit b5bdd56d2c
6 changed files with 23 additions and 7 deletions

View File

@@ -7,14 +7,16 @@
package com.facebook.flipper.plugins.uidebugger package com.facebook.flipper.plugins.uidebugger
import android.app.Application
import com.facebook.flipper.core.FlipperConnection import com.facebook.flipper.core.FlipperConnection
import com.facebook.flipper.core.FlipperPlugin import com.facebook.flipper.core.FlipperPlugin
import com.facebook.flipper.plugins.uidebugger.commands.CommandRegister import com.facebook.flipper.plugins.uidebugger.commands.CommandRegister
import com.facebook.flipper.plugins.uidebugger.commands.Context
import com.facebook.flipper.plugins.uidebugger.commands.GetRoot import com.facebook.flipper.plugins.uidebugger.commands.GetRoot
import com.facebook.flipper.plugins.uidebugger.core.ApplicationRef
import com.facebook.flipper.plugins.uidebugger.core.Context
class UIDebuggerFlipperPlugin : FlipperPlugin { class UIDebuggerFlipperPlugin(application: Application) : FlipperPlugin {
private var context: Context = Context() private val context: Context = Context(ApplicationRef(application))
private var connection: FlipperConnection? = null private var connection: FlipperConnection? = null
override fun getId(): String { override fun getId(): String {

View File

@@ -11,6 +11,7 @@ import com.facebook.flipper.core.FlipperObject
import com.facebook.flipper.core.FlipperReceiver import com.facebook.flipper.core.FlipperReceiver
import com.facebook.flipper.core.FlipperResponder import com.facebook.flipper.core.FlipperResponder
import com.facebook.flipper.plugins.common.MainThreadFlipperReceiver import com.facebook.flipper.plugins.common.MainThreadFlipperReceiver
import com.facebook.flipper.plugins.uidebugger.core.Context
/** An interface for extensions to the UIDebugger plugin */ /** An interface for extensions to the UIDebugger plugin */
abstract class Command(val context: Context) { abstract class Command(val context: Context) {

View File

@@ -9,6 +9,7 @@ package com.facebook.flipper.plugins.uidebugger.commands
import com.facebook.flipper.core.FlipperObject import com.facebook.flipper.core.FlipperObject
import com.facebook.flipper.core.FlipperResponder import com.facebook.flipper.core.FlipperResponder
import com.facebook.flipper.plugins.uidebugger.core.Context
class GetRoot(context: Context) : Command(context) { class GetRoot(context: Context) : Command(context) {
override fun identifier(): String { override fun identifier(): String {

View File

@@ -9,7 +9,6 @@ package com.facebook.flipper.plugins.uidebugger.core
import android.view.View import android.view.View
import android.view.ViewTreeObserver import android.view.ViewTreeObserver
import com.facebook.flipper.plugins.uidebugger.commands.Context
import java.util.List import java.util.List
class ApplicationInspector(val context: Context) { class ApplicationInspector(val context: Context) {

View File

@@ -5,6 +5,6 @@
* LICENSE file in the root directory of this source tree. * LICENSE file in the root directory of this source tree.
*/ */
package com.facebook.flipper.plugins.uidebugger.commands package com.facebook.flipper.plugins.uidebugger.core
class Context() {} class Context(val application: ApplicationRef) {}

View File

@@ -7,17 +7,30 @@
package com.facebook.flipper.plugins.uidebugger package com.facebook.flipper.plugins.uidebugger
import com.facebook.flipper.plugins.uidebugger.core.ApplicationRef
import org.junit.Assert import org.junit.Assert
import org.junit.Before
import org.junit.Test import org.junit.Test
import org.junit.runner.RunWith import org.junit.runner.RunWith
import org.mockito.Mockito
import org.robolectric.RobolectricTestRunner import org.robolectric.RobolectricTestRunner
import org.robolectric.RuntimeEnvironment
@RunWith(RobolectricTestRunner::class) @RunWith(RobolectricTestRunner::class)
class UIDebuggerFlipperPluginTest { class UIDebuggerFlipperPluginTest {
val app = Mockito.spy(RuntimeEnvironment.application)
private var appRef: ApplicationRef = Mockito.spy(ApplicationRef(app))
@Before
open fun setup() {
Mockito.`when`(app.applicationContext).thenReturn(app)
Mockito.`when`(app.packageName).thenReturn("com.facebook.flipper")
}
@Throws(Exception::class) @Throws(Exception::class)
@Test @Test
fun emptyTest() { fun emptyTest() {
var plugin = UIDebuggerFlipperPlugin() var plugin = UIDebuggerFlipperPlugin(app)
Assert.assertNotNull(plugin) Assert.assertNotNull(plugin)
} }
} }