From 59ef8e10c8e649a8a2b9226cead1291e68416358 Mon Sep 17 00:00:00 2001 From: Adam Brown Date: Wed, 6 Jul 2022 12:02:45 +0100 Subject: [PATCH] injecting the context directly to the handler --- .../im/vector/app/features/attachments/ShareIntentHandler.kt | 3 ++- .../vector/app/features/home/room/detail/TimelineFragment.kt | 2 +- .../im/vector/app/features/share/IncomingShareFragment.kt | 1 - .../vector/app/features/attachments/ShareIntentHandlerTest.kt | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/vector/src/main/java/im/vector/app/features/attachments/ShareIntentHandler.kt b/vector/src/main/java/im/vector/app/features/attachments/ShareIntentHandler.kt index 8cd20d36c1..1d722c2341 100644 --- a/vector/src/main/java/im/vector/app/features/attachments/ShareIntentHandler.kt +++ b/vector/src/main/java/im/vector/app/features/attachments/ShareIntentHandler.kt @@ -23,6 +23,7 @@ import javax.inject.Inject class ShareIntentHandler @Inject constructor( private val multiPickerIncomingFiles: MultiPickerIncomingFiles, + private val context: Context, ) { /** @@ -30,7 +31,7 @@ class ShareIntentHandler @Inject constructor( * * @return true if it can handle the intent data, false otherwise */ - fun handleIncomingShareIntent(context: Context, intent: Intent, onFile: (List) -> Unit, onPlainText: (String) -> Unit): Boolean { + fun handleIncomingShareIntent(intent: Intent, onFile: (List) -> Unit, onPlainText: (String) -> Unit): Boolean { val type = intent.resolveType(context) ?: return false return when { type == "text/plain" -> handlePlainText(intent, onPlainText) diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/TimelineFragment.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/TimelineFragment.kt index 9468af7726..a3eff137c8 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/detail/TimelineFragment.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/detail/TimelineFragment.kt @@ -1619,7 +1619,7 @@ class TimelineFragment @Inject constructor( private fun sendUri(uri: Uri): Boolean { val shareIntent = Intent(Intent.ACTION_SEND, uri) - val isHandled = shareIntentHandler.handleIncomingShareIntent(requireContext(), shareIntent, ::onContentAttachmentsReady, onPlainText = { + val isHandled = shareIntentHandler.handleIncomingShareIntent(shareIntent, ::onContentAttachmentsReady, onPlainText = { fatalError("Should not happen as we're generating a File based share Intent", vectorPreferences.failFast()) }) if (!isHandled) { diff --git a/vector/src/main/java/im/vector/app/features/share/IncomingShareFragment.kt b/vector/src/main/java/im/vector/app/features/share/IncomingShareFragment.kt index a113c8105d..3f8923dd68 100644 --- a/vector/src/main/java/im/vector/app/features/share/IncomingShareFragment.kt +++ b/vector/src/main/java/im/vector/app/features/share/IncomingShareFragment.kt @@ -116,7 +116,6 @@ class IncomingShareFragment @Inject constructor( } private fun handleIncomingShareIntent(intent: Intent) = shareIntentHandler.handleIncomingShareIntent( - requireContext(), intent, onFile = { val sharedData = SharedData.Attachments(it) diff --git a/vector/src/test/java/im/vector/app/features/attachments/ShareIntentHandlerTest.kt b/vector/src/test/java/im/vector/app/features/attachments/ShareIntentHandlerTest.kt index bb3aabf67f..d2fba95eee 100644 --- a/vector/src/test/java/im/vector/app/features/attachments/ShareIntentHandlerTest.kt +++ b/vector/src/test/java/im/vector/app/features/attachments/ShareIntentHandlerTest.kt @@ -36,7 +36,7 @@ class ShareIntentHandlerTest { private val onFile = FakeFunction1>() private val onPlainText = FakeFunction1() - private val shareIntentHandler = ShareIntentHandler(fakeMultiPickerIncomingFiles.instance) + private val shareIntentHandler = ShareIntentHandler(fakeMultiPickerIncomingFiles.instance, A_CONTEXT) @Test fun `given an unhandled sharing intent type, when handling intent, then is not handled`() { @@ -161,6 +161,6 @@ class ShareIntentHandlerTest { } private fun handleIncomingShareIntent(intent: FakeIntent): Boolean { - return shareIntentHandler.handleIncomingShareIntent(A_CONTEXT, intent.instance, onFile.capture, onPlainText.capture) + return shareIntentHandler.handleIncomingShareIntent(intent.instance, onFile.capture, onPlainText.capture) } }