diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index cf36bc70a..cf7e5eaec 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -144,7 +144,6 @@
-
diff --git a/app/src/main/java/com/aurora/store/MainActivity.kt b/app/src/main/java/com/aurora/store/MainActivity.kt
index 403f8eba6..0d98cebb7 100644
--- a/app/src/main/java/com/aurora/store/MainActivity.kt
+++ b/app/src/main/java/com/aurora/store/MainActivity.kt
@@ -41,6 +41,7 @@ import androidx.core.graphics.ColorUtils
import androidx.core.view.GravityCompat
import androidx.navigation.NavController
import androidx.navigation.NavDestination
+import androidx.navigation.findNavController
import androidx.navigation.fragment.NavHostFragment
import androidx.navigation.ui.setupWithNavController
import com.aurora.Constants
@@ -55,7 +56,6 @@ import com.aurora.store.util.Log
import com.aurora.store.util.Preferences
import com.aurora.store.view.ui.commons.BaseActivity
import com.aurora.store.view.ui.downloads.DownloadActivity
-import com.aurora.store.view.ui.search.SearchSuggestionActivity
import com.aurora.store.view.ui.sheets.SelfUpdateSheet
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
import com.google.android.material.bottomnavigation.BottomNavigationView
@@ -196,10 +196,7 @@ class MainActivity : BaseActivity() {
private fun attachSearch() {
B.searchFab.setOnClickListener {
- startActivity(
- Intent(this, SearchSuggestionActivity::class.java),
- getEmptyActivityBundle()
- )
+ navController.navigate(R.id.searchSuggestionFragment)
}
}
diff --git a/app/src/main/java/com/aurora/store/view/ui/search/SearchResultsActivity.kt b/app/src/main/java/com/aurora/store/view/ui/search/SearchResultsFragment.kt
similarity index 100%
rename from app/src/main/java/com/aurora/store/view/ui/search/SearchResultsActivity.kt
rename to app/src/main/java/com/aurora/store/view/ui/search/SearchResultsFragment.kt
diff --git a/app/src/main/java/com/aurora/store/view/ui/search/SearchSuggestionFragment.kt b/app/src/main/java/com/aurora/store/view/ui/search/SearchSuggestionFragment.kt
index e1bcb5e04..c0268979b 100644
--- a/app/src/main/java/com/aurora/store/view/ui/search/SearchSuggestionFragment.kt
+++ b/app/src/main/java/com/aurora/store/view/ui/search/SearchSuggestionFragment.kt
@@ -24,55 +24,56 @@ import android.os.Bundle
import android.text.Editable
import android.text.TextWatcher
import android.view.KeyEvent
+import android.view.View
import android.view.inputmethod.EditorInfo
import android.widget.TextView
+import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProvider
+import androidx.navigation.fragment.findNavController
import com.aurora.Constants
import com.aurora.extensions.browse
import com.aurora.extensions.getEmptyActivityBundle
import com.aurora.extensions.open
import com.aurora.extensions.showKeyboard
import com.aurora.gplayapi.SearchSuggestEntry
-import com.aurora.store.databinding.ActivitySearchSuggestionBinding
+import com.aurora.store.R
+import com.aurora.store.databinding.FragmentSearchSuggestionBinding
import com.aurora.store.util.Preferences
import com.aurora.store.view.epoxy.views.SearchSuggestionViewModel_
-import com.aurora.store.view.ui.commons.BaseActivity
import com.aurora.store.view.ui.downloads.DownloadActivity
import com.aurora.store.viewmodel.search.SearchSuggestionViewModel
import com.google.android.material.textfield.TextInputEditText
-class SearchSuggestionActivity : BaseActivity() {
+class SearchSuggestionFragment : Fragment(R.layout.fragment_search_suggestion) {
+
+ private var _binding: FragmentSearchSuggestionBinding? = null
+ private val binding: FragmentSearchSuggestionBinding
+ get() = _binding!!
- lateinit var B: ActivitySearchSuggestionBinding
lateinit var VM: SearchSuggestionViewModel
-
lateinit var searchView: TextInputEditText
var query: String = String()
- override fun onConnected() {
- hideNetworkConnectivitySheet()
- }
+ override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+ super.onViewCreated(view, savedInstanceState)
- override fun onDisconnected() {
- showNetworkConnectivitySheet()
- }
-
- override fun onReconnected() {
- }
-
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
-
- B = ActivitySearchSuggestionBinding.inflate(layoutInflater)
+ _binding = FragmentSearchSuggestionBinding.bind(view)
VM = ViewModelProvider(this)[SearchSuggestionViewModel::class.java]
- setContentView(B.root)
+ // Toolbar
+ binding.layoutToolbarSearch.apply {
+ searchView = inputSearch
+ imgActionPrimary.setOnClickListener {
+ findNavController().navigateUp()
+ }
+ imgActionSecondary.setOnClickListener {
+ activity?.open(DownloadActivity::class.java)
+ }
+ }
- attachToolbar()
-
- VM.liveSearchSuggestions.observe(this) {
+ VM.liveSearchSuggestions.observe(viewLifecycleOwner) {
updateController(it)
}
@@ -86,19 +87,13 @@ class SearchSuggestionActivity : BaseActivity() {
}
}
- private fun attachToolbar() {
- searchView = B.layoutToolbarSearch.inputSearch
-
- B.layoutToolbarSearch.imgActionPrimary.setOnClickListener {
- finishAfterTransition()
- }
- B.layoutToolbarSearch.imgActionSecondary.setOnClickListener {
- open(DownloadActivity::class.java)
- }
+ override fun onDestroyView() {
+ super.onDestroyView()
+ _binding = null
}
private fun updateController(searchSuggestions: List) {
- B.recycler.withModels {
+ binding.recycler.withModels {
setFilterDuplicates(true)
searchSuggestions.forEach {
add(
@@ -150,12 +145,16 @@ class SearchSuggestionActivity : BaseActivity() {
}
private fun search(query: String) {
- if (Preferences.getBoolean(this, Preferences.PREFERENCE_ADVANCED_SEARCH_IN_CTT)) {
- this.browse("${Constants.PLAY_QUERY_URL}$query", true)
+ if (Preferences.getBoolean(
+ requireContext(),
+ Preferences.PREFERENCE_ADVANCED_SEARCH_IN_CTT
+ )
+ ) {
+ requireContext().browse("${Constants.PLAY_QUERY_URL}$query", true)
} else {
- val intent = Intent(this, SearchResultsActivity::class.java)
+ val intent = Intent(requireContext(), SearchResultsActivity::class.java)
intent.putExtra(Constants.STRING_EXTRA, query)
- startActivity(intent, getEmptyActivityBundle())
+ startActivity(intent, requireContext().getEmptyActivityBundle())
}
}
}
diff --git a/app/src/main/res/layout/activity_search_result.xml b/app/src/main/res/layout/fragment_search_result.xml
similarity index 100%
rename from app/src/main/res/layout/activity_search_result.xml
rename to app/src/main/res/layout/fragment_search_result.xml
diff --git a/app/src/main/res/layout/fragment_search_suggestion.xml b/app/src/main/res/layout/fragment_search_suggestion.xml
index 7f56e2126..d844fdb65 100644
--- a/app/src/main/res/layout/fragment_search_suggestion.xml
+++ b/app/src/main/res/layout/fragment_search_suggestion.xml
@@ -18,9 +18,11 @@
-->
+ android:layout_height="match_parent"
+ tools:context=".view.ui.search.SearchSuggestionFragment">
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 648ece348..5a0f0d3d4 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -305,6 +305,7 @@
"Purchase history"
"Settings"
"Spoof manager"
+ "Search suggestion"
"Updates"
"Advanced"
"Manual download"