diff --git a/app/src/main/java/com/itsaky/androidide/fragments/EmptyStateFragment.kt b/app/src/main/java/com/itsaky/androidide/fragments/EmptyStateFragment.kt index b99add1f02..ad19f86ec9 100644 --- a/app/src/main/java/com/itsaky/androidide/fragments/EmptyStateFragment.kt +++ b/app/src/main/java/com/itsaky/androidide/fragments/EmptyStateFragment.kt @@ -12,7 +12,6 @@ import androidx.lifecycle.Lifecycle import androidx.lifecycle.repeatOnLifecycle import androidx.viewbinding.ViewBinding import com.itsaky.androidide.databinding.FragmentEmptyStateBinding -import com.itsaky.androidide.editor.ui.EditorLongPressEvent import com.itsaky.androidide.editor.ui.IDEEditor import com.itsaky.androidide.idetooltips.TooltipManager import com.itsaky.androidide.utils.viewLifecycleScope @@ -21,9 +20,6 @@ import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.flow.collectLatest import kotlinx.coroutines.launch import kotlinx.coroutines.withContext -import org.greenrobot.eventbus.EventBus -import org.greenrobot.eventbus.Subscribe -import org.greenrobot.eventbus.ThreadMode abstract class EmptyStateFragment : FragmentWithBinding { constructor(layout: Int, bind: (View) -> T) : super(layout, bind) @@ -161,22 +157,4 @@ abstract class EmptyStateFragment : FragmentWithBinding { ) } - override fun onResume() { - super.onResume() - // Register this fragment to receive events - EventBus.getDefault().register(this) - } - - override fun onPause() { - super.onPause() - // Unregister to avoid memory leaks - EventBus.getDefault().unregister(this) - } - - // This method will be called when an EditorLongPressEvent is posted - @Subscribe(threadMode = ThreadMode.MAIN) - fun onEditorLongPressed(event: EditorLongPressEvent) { - val motionEvent = event.motionEvent - onFragmentLongPressed(motionEvent.x, motionEvent.y) - } } diff --git a/app/src/main/java/com/itsaky/androidide/fragments/output/BuildOutputFragment.kt b/app/src/main/java/com/itsaky/androidide/fragments/output/BuildOutputFragment.kt index cd67c67f04..86f868df4c 100644 --- a/app/src/main/java/com/itsaky/androidide/fragments/output/BuildOutputFragment.kt +++ b/app/src/main/java/com/itsaky/androidide/fragments/output/BuildOutputFragment.kt @@ -33,7 +33,6 @@ class BuildOutputFragment : NonEditableEditorFragment() { savedInstanceState: Bundle?, ) { super.onViewCreated(view, savedInstanceState) - editor?.includeDebugInfoOnCopy = true editor?.tag = TooltipTag.PROJECT_BUILD_OUTPUT emptyStateViewModel.setEmptyMessage(getString(R.string.msg_emptyview_buildoutput)) if (unsavedLines.isNotEmpty()) { diff --git a/app/src/main/java/com/itsaky/androidide/fragments/output/LogViewFragment.kt b/app/src/main/java/com/itsaky/androidide/fragments/output/LogViewFragment.kt index e3d1e4ce40..3b16b6d8f0 100644 --- a/app/src/main/java/com/itsaky/androidide/fragments/output/LogViewFragment.kt +++ b/app/src/main/java/com/itsaky/androidide/fragments/output/LogViewFragment.kt @@ -133,7 +133,6 @@ abstract class LogViewFragment : editor.setTextSize(12f) editor.typefaceText = jetbrainsMono() editor.isEnsurePosAnimEnabled = false - editor.includeDebugInfoOnCopy = true editor.tag = tooltipTag editor.cursorAnimator = NoOpCursorAnimator diff --git a/editor/src/main/java/com/itsaky/androidide/editor/ui/EditorLongPressEvent.kt b/editor/src/main/java/com/itsaky/androidide/editor/ui/EditorLongPressEvent.kt deleted file mode 100644 index f245e8a8d2..0000000000 --- a/editor/src/main/java/com/itsaky/androidide/editor/ui/EditorLongPressEvent.kt +++ /dev/null @@ -1,5 +0,0 @@ -package com.itsaky.androidide.editor.ui - -import android.view.MotionEvent - -data class EditorLongPressEvent(val motionEvent: MotionEvent) \ No newline at end of file diff --git a/editor/src/main/java/com/itsaky/androidide/editor/ui/IDEEditor.kt b/editor/src/main/java/com/itsaky/androidide/editor/ui/IDEEditor.kt index 5b8742f22f..9c3e61c9d6 100644 --- a/editor/src/main/java/com/itsaky/androidide/editor/ui/IDEEditor.kt +++ b/editor/src/main/java/com/itsaky/androidide/editor/ui/IDEEditor.kt @@ -81,7 +81,6 @@ import com.itsaky.androidide.utils.BasicBuildInfo import com.itsaky.androidide.utils.DocumentUtils import com.itsaky.androidide.utils.flashError import io.github.rosemoe.sora.event.ContentChangeEvent -import io.github.rosemoe.sora.event.LongPressEvent import io.github.rosemoe.sora.event.SelectionChangeEvent import io.github.rosemoe.sora.lang.EmptyLanguage import io.github.rosemoe.sora.lang.Language @@ -526,12 +525,14 @@ constructor( start: Int, end: Int, ) { - var targetText = text if (includeDebugInfoOnCopy) { - targetText = BasicBuildInfo.BASIC_INFO + System.lineSeparator() + text + // Extract selected text first, then prepend build info + val selectedText = text.subSequence(start, end) + val textWithBuildInfo = BasicBuildInfo.BASIC_INFO + System.lineSeparator() + selectedText + doCopy(textWithBuildInfo, 0, textWithBuildInfo.length) + } else { + doCopy(text, start, end) } - - doCopy(targetText, start, end) } @VisibleForTesting @@ -825,12 +826,6 @@ constructor( } EventBus.getDefault().register(this) - if (isReadOnlyContext) { - subscribeEvent(LongPressEvent::class.java) { event, _ -> - EventBus.getDefault().post(EditorLongPressEvent(event.causingEvent)) - event.intercept() - } - } } private fun handleCustomTextReplacement(event: ContentChangeEvent) {