Skip to content

Commit

Permalink
fix: when need to edit text, the menu should have paste.
Browse files Browse the repository at this point in the history
  • Loading branch information
plateaukao committed Apr 16, 2023
1 parent f54e9b3 commit b972b15
Showing 1 changed file with 17 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ import android.os.Message
import android.util.Log
import android.view.*
import android.view.KeyEvent.ACTION_DOWN
import android.view.Menu
import android.view.View.*
import android.webkit.CookieManager
import android.webkit.ValueCallback
Expand Down Expand Up @@ -689,10 +690,14 @@ open class BrowserActivity : FragmentActivity(), BrowserController {
when (intent.action) {
ACTION_GTRANSLATE -> {
translationViewModel.updateInputMessage(actionModeMenuViewModel.selectedText.value)
TranslateDialogFragment(translationViewModel, actionModeMenuViewModel.clickedPoint.value)
TranslateDialogFragment(
translationViewModel,
actionModeMenuViewModel.clickedPoint.value
)
.show(supportFragmentManager, "translateDialog")

}

ACTION_GPT -> {
gptViewModel.updateInputMessage(actionModeMenuViewModel.selectedText.value)
if (gptViewModel.hasApiKey()) {
Expand Down Expand Up @@ -1877,7 +1882,7 @@ open class BrowserActivity : FragmentActivity(), BrowserController {
if (!actionModeMenuViewModel.isInActionMode()) {
actionModeMenuViewModel.updateActionMode(mode)

if (!config.showDefaultActionMenu) {
if (!config.showDefaultActionMenu && !isTextEditMode(mode.menu)) {
lifecycleScope.launch {
actionModeMenuViewModel.updateSelectedText(ninjaWebView.getSelectedText())
actionModeMenuViewModel.showActionModeDialogFragment(
Expand All @@ -1889,11 +1894,20 @@ open class BrowserActivity : FragmentActivity(), BrowserController {
}
}

if (!config.showDefaultActionMenu) {
if (!config.showDefaultActionMenu && !isTextEditMode(mode.menu)) {
mode.menu.clear()
}
}

private fun isTextEditMode(menu: Menu): Boolean {
for (i in 0 until menu.size()) {
val item = menu.getItem(i)
if (item.title == getString(android.R.string.paste)) {
return true
}
}
return false
}

override fun onPause() {
super.onPause()
Expand Down

0 comments on commit b972b15

Please sign in to comment.