From b2cd19109f64ab4bd329d20af9342454f4edea52 Mon Sep 17 00:00:00 2001
From: tibbi <tibor@kaputa.sk>
Date: Wed, 26 Jun 2019 23:15:04 +0200
Subject: [PATCH] properly handle item refreshing at the search screen

---
 .../gallery/pro/activities/SearchActivity.kt         | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/SearchActivity.kt b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/SearchActivity.kt
index a8fe7edf6..abf917df1 100644
--- a/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/SearchActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/gallery/pro/activities/SearchActivity.kt
@@ -30,6 +30,8 @@ import kotlinx.android.synthetic.main.activity_search.*
 
 class SearchActivity : SimpleActivity(), MediaOperationsListener {
     private var mIsSearchOpen = false
+    private var mLastSearchedText = ""
+
     private var mSearchMenuItem: MenuItem? = null
     private var mCurrAsyncTask: GetMediaAsynctask? = null
     private var mAllMedia = ArrayList<ThumbnailItem>()
@@ -63,6 +65,7 @@ class SearchActivity : SimpleActivity(), MediaOperationsListener {
 
                 override fun onQueryTextChange(newText: String): Boolean {
                     if (mIsSearchOpen) {
+                        mLastSearchedText = newText
                         textChanged(newText)
                     }
                     return true
@@ -80,6 +83,7 @@ class SearchActivity : SimpleActivity(), MediaOperationsListener {
             override fun onMenuItemActionCollapse(item: MenuItem?): Boolean {
                 if (mIsSearchOpen) {
                     mIsSearchOpen = false
+                    mLastSearchedText = ""
                 }
                 return true
             }
@@ -267,20 +271,24 @@ class SearchActivity : SimpleActivity(), MediaOperationsListener {
             runOnUiThread {
                 setupAdapter()
             }
-            startAsyncTask()
+            startAsyncTask(false)
         }
     }
 
-    private fun startAsyncTask() {
+    private fun startAsyncTask(updateItems: Boolean) {
         mCurrAsyncTask?.stopFetching()
         mCurrAsyncTask = GetMediaAsynctask(applicationContext, "", showAll = true) {
             mAllMedia = it.clone() as ArrayList<ThumbnailItem>
+            if (updateItems) {
+                textChanged(mLastSearchedText)
+            }
         }
 
         mCurrAsyncTask!!.execute()
     }
 
     override fun refreshItems() {
+        startAsyncTask(true)
     }
 
     override fun tryDeleteFiles(fileDirItems: ArrayList<FileDirItem>) {