Skip to content

Commit

Permalink
escape url query body
Browse files Browse the repository at this point in the history
  • Loading branch information
puutaro committed Mar 24, 2024
1 parent 7af8ae2 commit 1f3a74d
Show file tree
Hide file tree
Showing 5 changed files with 105 additions and 85 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,39 +2,56 @@ package com.puutaro.commandclick.activity_lib.event.lib.cmdIndex

import com.puutaro.commandclick.R
import com.puutaro.commandclick.activity.MainActivity
import com.puutaro.commandclick.common.variable.path.UsePath
import com.puutaro.commandclick.fragment.TerminalFragment
import com.puutaro.commandclick.util.file.FileSystems
import java.io.File
import java.io.UnsupportedEncodingException

class ExecLoadUrlForWebView {
companion object {
fun execLoadUrlForWebView (
activity: MainActivity,
searchUrl: String,

) {
try {
val indexTerminalFragment = activity.supportFragmentManager.findFragmentByTag(
activity.getString(R.string.index_terminal_fragment)
) as TerminalFragment
if(indexTerminalFragment.isVisible) {
val webView = indexTerminalFragment.binding.terminalWebView
webView.loadUrl(searchUrl)
return
}
} catch (e: Exception){
println("pass")
import java.net.URLDecoder




object ExecLoadUrlForWebView {
fun execLoadUrlForWebView (
activity: MainActivity,
searchUrl: String,

) {
try {
val indexTerminalFragment = activity.supportFragmentManager.findFragmentByTag(
activity.getString(R.string.index_terminal_fragment)
) as TerminalFragment
if(indexTerminalFragment.isVisible) {
val webView = indexTerminalFragment.binding.terminalWebView
webView.loadUrl(searchUrl)
return
}
try {
val editExecuteTerminalFragment = activity.supportFragmentManager.findFragmentByTag(
activity.getString(R.string.edit_terminal_fragment)
) as TerminalFragment
if(editExecuteTerminalFragment.isVisible) {
val webView = editExecuteTerminalFragment.binding.terminalWebView
webView.loadUrl(searchUrl)
return
}
} catch (e: Exception){
} catch (e: Exception){
println("pass")
}
try {
val editExecuteTerminalFragment = activity.supportFragmentManager.findFragmentByTag(
activity.getString(R.string.edit_terminal_fragment)
) as TerminalFragment
if(editExecuteTerminalFragment.isVisible) {
val webView = editExecuteTerminalFragment.binding.terminalWebView
webView.loadUrl(searchUrl)
return
}
} catch (e: Exception){
return
}
}

private fun convertIntoUth8Format(url: String): String? {
var newStr: String? = ""
try {
newStr = URLDecoder.decode(url, "UTF-8")
} catch (e: UnsupportedEncodingException) {
e.printStackTrace()
}
return newStr
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,23 @@ import com.puutaro.commandclick.R
import com.puutaro.commandclick.activity.MainActivity
import com.puutaro.commandclick.fragment.CommandIndexFragment

class ExecOnSearchTextChange {

companion object {
fun execOnSearchTextChange(
activity: MainActivity,
text: String
) {
val commandIndexFragment = try {
activity.supportFragmentManager.findFragmentByTag(
activity.getString(R.string.command_index_fragment)
) as CommandIndexFragment
} catch (e: Exception) {
return
}
if (!commandIndexFragment.isVisible) return
try {
commandIndexFragment.binding.cmdSearchEditText.setText(text)
} catch (e: Exception) {
return
}
object ExecOnSearchTextChange {
fun execOnSearchTextChange(
activity: MainActivity,
text: String
) {
val commandIndexFragment = try {
activity.supportFragmentManager.findFragmentByTag(
activity.getString(R.string.command_index_fragment)
) as CommandIndexFragment
} catch (e: Exception) {
return
}
if (!commandIndexFragment.isVisible) return
try {
commandIndexFragment.binding.cmdSearchEditText.setText(text)
} catch (e: Exception) {
return
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -125,15 +125,12 @@ object WrapWebHistoryUpdater {

val ulrTitle = QuoteTool.trimBothEdgeQuote(webViewTitle)
val escapeStr = WebUrlVariables.escapeStr
if (ulrTitle.endsWith("\t${escapeStr}")) return
if (
ulrTitle.endsWith("\t${escapeStr}")
) return

val urlCheckResult = EnableUrlPrefix.isHttpOrFilePrefix(webViewUrl)
if(!urlCheckResult) return
// val isFDialogFannelUri =
// FDialogTempFile.howFDialogFile(
// File(webViewUrl ?: String()).name
// )
// if(isFDialogFannelUri) return
val searchViewTextSource = if(
webViewUrl?.startsWith(WebUrlVariables.queryUrl) == true
) {
Expand All @@ -148,14 +145,17 @@ object WrapWebHistoryUpdater {
searchViewText.isEmpty()
) return

val appUrlSystemDirPath = "${currentAppDirPath}/${UsePath.cmdclickUrlSystemDirRelativePath}"
val cmdclickUrlHistoryFileName = UsePath.cmdclickUrlHistoryFileName
val appUrlSystemDirPath =
"${currentAppDirPath}/${UsePath.cmdclickUrlSystemDirRelativePath}"
val cmdclickUrlHistoryFileName =
UsePath.cmdclickUrlHistoryFileName
val takeHistoryNum = 500
val updatingHistory = "${ulrTitle}\t${webViewUrl}\n" + ReadText(
File(
appUrlSystemDirPath,
cmdclickUrlHistoryFileName
).absolutePath
val updatingHistory =
"${ulrTitle}\t${webViewUrl}\n" + ReadText(
File(
appUrlSystemDirPath,
cmdclickUrlHistoryFileName
).absolutePath
).textToList().take(takeHistoryNum).joinToString("\n")
FileSystems.writeFile(
File(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,9 +67,8 @@ object SearchViewAndAutoCompUpdater {
} else url ?:return
val searchViewText = if(
searchViewTextSource.startsWith(escapeStr)
) {
String()
} else searchViewTextSource
) String()
else searchViewTextSource
updateSearchViewString(
terminalFragment,
commandIndexFragment,
Expand Down Expand Up @@ -141,14 +140,12 @@ internal fun queryUrlToText(
decordedUrlLength,
'#'
)
val subStrEndPosi = if(
anpasadPosi > sharpPosi
){
sharpPosi
} else {
anpasadPosi
}
return decordedUrl.substring(0, subStrEndPosi)
val subStrEndPosi =
when(anpasadPosi > sharpPosi){
true -> sharpPosi
else -> anpasadPosi
}
return decordedUrl.take(subStrEndPosi + 1)
}


Expand All @@ -159,11 +156,8 @@ internal fun makeStrPosi(
): Int {
val escapeStrNum = decordedUrlLength
val sharpPosiSource = targetUrl.indexOf(posiTargetChar)
return if (
sharpPosiSource == -1
) {
escapeStrNum
} else {
sharpPosiSource
return when (sharpPosiSource == -1) {
true -> escapeStrNum
else -> sharpPosiSource
}
}
26 changes: 19 additions & 7 deletions app/src/main/java/com/puutaro/commandclick/proccess/UrlTexter.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,25 +5,26 @@ import androidx.fragment.app.Fragment
import com.puutaro.commandclick.common.variable.variables.WebUrlVariables
import com.puutaro.commandclick.fragment.CommandIndexFragment
import com.puutaro.commandclick.fragment.EditFragment
import java.net.URLEncoder

object UrlTexter {
fun launch(
fragment: Fragment,
cmdSearchEditText: AutoCompleteTextView? = null,
inputUrl: String?
){
if(inputUrl.isNullOrEmpty()) return
val queryUrl = WebUrlVariables.queryUrl
if(
inputUrl.isNullOrEmpty()
) return
val enableStartHttp = inputUrl.startsWith("http")
val searchUrl = if(
enableStartHttp
) inputUrl
else queryUrl + inputUrl
val searchUrl = makeSearchUrl(
inputUrl,
enableStartHttp,
)
if(
enableStartHttp
&& cmdSearchEditText != null
) cmdSearchEditText.setText(inputUrl)
// else cmdSearchEditText.setText(inputUrl)
when(fragment) {
is CommandIndexFragment -> {
val listener = fragment.context as? CommandIndexFragment.OnLaunchUrlByWebViewListener
Expand All @@ -39,4 +40,15 @@ object UrlTexter {
}
}
}

private fun makeSearchUrl(
inputUrl: String,
enableStartHttp: Boolean,
): String {
val queryUrl = WebUrlVariables.queryUrl
return when(enableStartHttp) {
true -> inputUrl
else -> queryUrl+URLEncoder.encode(inputUrl, "UTF-8")
}
}
}

0 comments on commit 1f3a74d

Please sign in to comment.