diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 55982c4a..445e4c3f 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -57,12 +57,17 @@
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
> ${intent?.dataString}")
// BLog.LOGE("onNewIntent intent?.data >> ${intent?.data}")
+ } else if (intent?.action == Intent.ACTION_WEB_SEARCH) {
+ openWithIntent(intent)
} else {
Blog.LOGE("onNewIntent intent?.hasExtra >> ${intent?.hasExtra(Intent.EXTRA_STREAM)}")
@@ -501,6 +506,22 @@ internal class LauncherActivity : CommonActivity() {
// }
super.onNewIntent(intent)
}
+
+ private fun openWithIntent(intent: Intent){
+ Blog.LOGE("intent >> ${intent}")
+
+ intent.getStringExtra(SearchManager.QUERY)?.let { query->
+ Blog.LOGE("intent >> ${query}")
+ supportFragmentManager.beginTransaction()
+ .replace(R.id.fragment_container, RssHome().apply {
+ arguments = Bundle().apply {
+ putString(SearchManager.QUERY, query)
+ }
+ })
+ .commit()
+ }
+ }
+
var isKeyboardVisible = false
@SuppressLint("NewApi", "MissingPermission")
@@ -538,6 +559,10 @@ internal class LauncherActivity : CommonActivity() {
Blog.LOGE("v >> ${v}")
showContents(v.id)
}
+
+ if (intent?.action == Intent.ACTION_WEB_SEARCH) {
+ openWithIntent(intent)
+ }
}
fun showContents(id : Int) {
@@ -635,7 +660,19 @@ internal class LauncherActivity : CommonActivity() {
Blog.LOGE("LauncherActivity onResume")
}
-
+ private fun openSearch() {
+ val searchManager = getSystemService(Context.SEARCH_SERVICE) as SearchManager
+ val searchableInfo = searchManager.getSearchableInfo(componentName)
+ if (searchableInfo != null) {
+ val intent = Intent(Intent.ACTION_SEARCH).apply {
+// setSearchableInfo(searchableInfo)
+ flags = Intent.FLAG_ACTIVITY_NEW_TASK
+ }
+ startActivity(intent)
+ } else {
+ // 검색 가능한 앱이 없을 경우 처리
+ }
+ }
val appDrawer by lazy { AppDrawer() }
diff --git a/app/src/main/kotlin/bums/lunatic/launcher/apps/AppDrawer.kt b/app/src/main/kotlin/bums/lunatic/launcher/apps/AppDrawer.kt
index 59ec2480..388afcd5 100644
--- a/app/src/main/kotlin/bums/lunatic/launcher/apps/AppDrawer.kt
+++ b/app/src/main/kotlin/bums/lunatic/launcher/apps/AppDrawer.kt
@@ -57,7 +57,7 @@ import java.util.concurrent.TimeUnit
import java.util.regex.Pattern
-internal class AppDrawer : CommonActivity() {
+class AppDrawer : CommonActivity() {
private lateinit var binding: AppDrawerBinding
private var layoutType: Int = 0
diff --git a/app/src/main/kotlin/bums/lunatic/launcher/home/GeckoWeb.kt b/app/src/main/kotlin/bums/lunatic/launcher/home/GeckoWeb.kt
index 0f465bcb..f26606ce 100644
--- a/app/src/main/kotlin/bums/lunatic/launcher/home/GeckoWeb.kt
+++ b/app/src/main/kotlin/bums/lunatic/launcher/home/GeckoWeb.kt
@@ -888,6 +888,8 @@ class GeckoWeb : BWebview {
}
} else if (url.startsWith("http") == false) {
nUrl = lastDomain
+ } else {
+ nUrl = url.plus(param)
}
if (!privateMode && this.isVisible == false) {
this.visibility = View.VISIBLE
diff --git a/app/src/main/kotlin/bums/lunatic/launcher/home/RssHome.kt b/app/src/main/kotlin/bums/lunatic/launcher/home/RssHome.kt
index 28c49747..207ae239 100644
--- a/app/src/main/kotlin/bums/lunatic/launcher/home/RssHome.kt
+++ b/app/src/main/kotlin/bums/lunatic/launcher/home/RssHome.kt
@@ -199,12 +199,16 @@ internal class RssHome : Fragment() {
return false
}
})
- var useHiddenMenu = true
+ var openQuery = ""
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
+ Blog.LOGE("arguments >>> ${arguments}")
arguments?.let {
- if(it.containsKey("HIDDEN") && it.getBoolean("HIDDEN")) {
- useHiddenMenu = true
+ Blog.LOGE("arguments >>> ${arguments}")
+ if(it.containsKey("query") && it.getString("query")!!.length > 0) {
+ Blog.LOGE("it.getString ${it.getString("query")}")
+ openQuery = it.getString("query")!!
+
}
}
home = this
@@ -334,7 +338,7 @@ internal class RssHome : Fragment() {
if (binding.geckoWeb.lastedUrl?.contains("www.google") == true) {
binding.geckoWeb.sendSearch(keyword)
} else {
- binding.geckoWeb.loadUrl("https://www.google.com/", if (keyword.length ?: 0 > 0) { "/?q=${keyword}" } else { null })
+ binding.geckoWeb.loadUrl("https://www.google.com/", if (keyword.length ?: 0 > 0) { "search/?q=${keyword}" } else { null })
}
binding.geckoWeb.privateMode = false
}
@@ -502,33 +506,10 @@ internal class RssHome : Fragment() {
binding.share.setOnClickListener {
binding.geckoWeb.saveMd()
}
- Blog.LOGE("useHiddenMenu >>> $useHiddenMenu")
- if (useHiddenMenu) {
- binding.search.setOnLongClickListener {
- if (binding.geckoWeb.isVisible) {
- binding.geckoWeb.visibility = View.GONE
- }
- binding.geckoWeb.visibility = View.GONE
- ask()
- true
- }
- binding.search.setOnClickListener {
- if (binding.geckoWeb.isVisible) {
- binding.geckoWeb.visibility = View.GONE
- }
- binding.geckoWeb.visibility = View.GONE
- searchKeyword()
- true
- }
- binding.privateBtn.setOnClickListener {
- queryPrevate(true)
- }
- binding.privateBtn.setOnLongClickListener {
- queryPrevate(false)
- true
- }
- binding.privateBtn.visibility = View.VISIBLE
- binding.search.visibility = View.VISIBLE
+ Blog.LOGE("useHiddenMenu >>> $openQuery")
+ if (openQuery.length > 0) {
+ binding.geckoWeb.loadUrl("https://www.google.com/search?q=${openQuery}")
+ openQuery = ""
} else {
binding.privateBtn.visibility = View.GONE
binding.search.visibility = View.GONE
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 9d7c59d1..60d9a42f 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -179,4 +179,6 @@
test\n
+
+ 응 내꺼얌
diff --git a/app/src/main/res/xml/searchable.xml b/app/src/main/res/xml/searchable.xml
new file mode 100644
index 00000000..5aac4837
--- /dev/null
+++ b/app/src/main/res/xml/searchable.xml
@@ -0,0 +1,4 @@
+
+