diff --git a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/UIDebuggerFlipperPlugin.kt b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/UIDebuggerFlipperPlugin.kt index 0d71e148c..d7c45bc68 100644 --- a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/UIDebuggerFlipperPlugin.kt +++ b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/UIDebuggerFlipperPlugin.kt @@ -7,14 +7,16 @@ package com.facebook.flipper.plugins.uidebugger +import android.app.Application import com.facebook.flipper.core.FlipperConnection import com.facebook.flipper.core.FlipperPlugin 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.core.ApplicationRef +import com.facebook.flipper.plugins.uidebugger.core.Context -class UIDebuggerFlipperPlugin : FlipperPlugin { - private var context: Context = Context() +class UIDebuggerFlipperPlugin(application: Application) : FlipperPlugin { + private val context: Context = Context(ApplicationRef(application)) private var connection: FlipperConnection? = null override fun getId(): String { diff --git a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/commands/Command.kt b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/commands/Command.kt index 9e7d7c27b..b442ef599 100644 --- a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/commands/Command.kt +++ b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/commands/Command.kt @@ -11,6 +11,7 @@ import com.facebook.flipper.core.FlipperObject import com.facebook.flipper.core.FlipperReceiver import com.facebook.flipper.core.FlipperResponder import com.facebook.flipper.plugins.common.MainThreadFlipperReceiver +import com.facebook.flipper.plugins.uidebugger.core.Context /** An interface for extensions to the UIDebugger plugin */ abstract class Command(val context: Context) { diff --git a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/commands/GetRoot.kt b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/commands/GetRoot.kt index d3e17206d..753a132fa 100644 --- a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/commands/GetRoot.kt +++ b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/commands/GetRoot.kt @@ -9,6 +9,7 @@ package com.facebook.flipper.plugins.uidebugger.commands import com.facebook.flipper.core.FlipperObject import com.facebook.flipper.core.FlipperResponder +import com.facebook.flipper.plugins.uidebugger.core.Context class GetRoot(context: Context) : Command(context) { override fun identifier(): String { diff --git a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/core/ApplicationInspector.kt b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/core/ApplicationInspector.kt index 1578b2481..e8c8cdeca 100644 --- a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/core/ApplicationInspector.kt +++ b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/core/ApplicationInspector.kt @@ -9,7 +9,6 @@ package com.facebook.flipper.plugins.uidebugger.core import android.view.View import android.view.ViewTreeObserver -import com.facebook.flipper.plugins.uidebugger.commands.Context import java.util.List class ApplicationInspector(val context: Context) { diff --git a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/commands/Context.kt b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/core/Context.kt similarity index 65% rename from android/src/main/java/com/facebook/flipper/plugins/uidebugger/commands/Context.kt rename to android/src/main/java/com/facebook/flipper/plugins/uidebugger/core/Context.kt index dfef7b373..29d49d417 100644 --- a/android/src/main/java/com/facebook/flipper/plugins/uidebugger/commands/Context.kt +++ b/android/src/main/java/com/facebook/flipper/plugins/uidebugger/core/Context.kt @@ -5,6 +5,6 @@ * 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) {} diff --git a/android/src/test/java/com/facebook/flipper/plugins/uidebugger/UIDebuggerFlipperPluginTest.kt b/android/src/test/java/com/facebook/flipper/plugins/uidebugger/UIDebuggerFlipperPluginTest.kt index 575dc6772..d691ef1b5 100644 --- a/android/src/test/java/com/facebook/flipper/plugins/uidebugger/UIDebuggerFlipperPluginTest.kt +++ b/android/src/test/java/com/facebook/flipper/plugins/uidebugger/UIDebuggerFlipperPluginTest.kt @@ -7,17 +7,30 @@ package com.facebook.flipper.plugins.uidebugger +import com.facebook.flipper.plugins.uidebugger.core.ApplicationRef import org.junit.Assert +import org.junit.Before import org.junit.Test import org.junit.runner.RunWith +import org.mockito.Mockito import org.robolectric.RobolectricTestRunner +import org.robolectric.RuntimeEnvironment @RunWith(RobolectricTestRunner::class) 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) @Test fun emptyTest() { - var plugin = UIDebuggerFlipperPlugin() + var plugin = UIDebuggerFlipperPlugin(app) Assert.assertNotNull(plugin) } }