From b0e8f30ddf66eac6fecb5865e77b1ac28e86f277 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=96ppen?= Date: Thu, 20 Aug 2020 18:24:23 +0100 Subject: [PATCH] percent encode searches --- app/src/main/java/oppen/Extensions.kt | 14 ++++++++++++++ app/src/main/java/oppen/tva/ui/TvaActivity.kt | 8 +++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/oppen/Extensions.kt b/app/src/main/java/oppen/Extensions.kt index b043141..5dbd37c 100644 --- a/app/src/main/java/oppen/Extensions.kt +++ b/app/src/main/java/oppen/Extensions.kt @@ -1,7 +1,10 @@ package oppen +import android.content.Context import android.os.CountDownTimer import android.view.View +import android.view.inputmethod.InputMethodManager +import androidx.core.content.ContextCompat.getSystemService fun View.visible(visible: Boolean) = when { @@ -14,6 +17,17 @@ fun View.visibleRetainingSpace(visible: Boolean) = when { else -> this.visibility = View.INVISIBLE } +fun View.hideKeyboard(){ + val imm: InputMethodManager? = context.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager? + imm?.hideSoftInputFromWindow(windowToken, 0) +} + +fun View.showKeyboard(){ + delay(200){ + this.callOnClick() + } +} + fun delay(ms: Long, action: () -> Unit){ object : CountDownTimer(ms, ms/2) { override fun onTick(millisUntilFinished: Long) {} diff --git a/app/src/main/java/oppen/tva/ui/TvaActivity.kt b/app/src/main/java/oppen/tva/ui/TvaActivity.kt index 3a307f1..8140832 100644 --- a/app/src/main/java/oppen/tva/ui/TvaActivity.kt +++ b/app/src/main/java/oppen/tva/ui/TvaActivity.kt @@ -13,6 +13,8 @@ import androidx.appcompat.app.AppCompatActivity import androidx.databinding.DataBindingUtil import androidx.recyclerview.widget.LinearLayoutManager import com.google.android.material.snackbar.Snackbar +import oppen.hideKeyboard +import oppen.showKeyboard import oppen.tva.R import oppen.tva.Tva import oppen.tva.databinding.ActivityTvaBinding @@ -29,6 +31,7 @@ import oppen.tva.ui.modals_menus.set_home.SetHomeDialog import oppen.tva.ui.modals_menus.tabs.NewTabPopup import oppen.tva.ui.modals_menus.tabs.TabsDialog import oppen.visibleRetainingSpace +import java.net.URLEncoder class TvaActivity : AppCompatActivity() { @@ -98,9 +101,11 @@ class TvaActivity : AppCompatActivity() { if(input.startsWith("gemini://")){ model.request(input) }else{ - model.request("${Tva.GEMINI_USER_SEARCH_BASE}$input") + model.request("${Tva.GEMINI_USER_SEARCH_BASE}${URLEncoder.encode(input, "UTF-8")}") } + binding.addressEdit.hideKeyboard() + return@setOnEditorActionListener true } else -> return@setOnEditorActionListener false @@ -114,6 +119,7 @@ class TvaActivity : AppCompatActivity() { binding.addressEdit.hint = getString(R.string.main_input_search_hint) binding.addressEdit.text?.clear() binding.addressEdit.requestFocus() + binding.addressEdit.showKeyboard() inSearch = true } R.id.overflow_menu_share -> {