diff --git a/app/src/main/kotlin/com/simplemobiletools/applauncher/LauncherAdapterUpdateListener.kt b/app/src/main/kotlin/com/simplemobiletools/applauncher/LauncherAdapterUpdateListener.kt new file mode 100644 index 0000000..51830a5 --- /dev/null +++ b/app/src/main/kotlin/com/simplemobiletools/applauncher/LauncherAdapterUpdateListener.kt @@ -0,0 +1,7 @@ +package com.simplemobiletools.applauncher + +interface LauncherAdapterUpdateListener { + fun refreshItems() + + fun refetchItems() +} diff --git a/app/src/main/kotlin/com/simplemobiletools/applauncher/activities/MainActivity.kt b/app/src/main/kotlin/com/simplemobiletools/applauncher/activities/MainActivity.kt index 25ecd10..cbee793 100644 --- a/app/src/main/kotlin/com/simplemobiletools/applauncher/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/applauncher/activities/MainActivity.kt @@ -4,6 +4,7 @@ import android.content.Intent import android.os.Bundle import androidx.coordinatorlayout.widget.CoordinatorLayout import com.simplemobiletools.applauncher.BuildConfig +import com.simplemobiletools.applauncher.LauncherAdapterUpdateListener import com.simplemobiletools.applauncher.R import com.simplemobiletools.applauncher.adapters.LaunchersAdapter import com.simplemobiletools.applauncher.dialogs.AddLaunchersDialog @@ -16,7 +17,6 @@ import com.simplemobiletools.applauncher.models.AppLauncher import com.simplemobiletools.commons.dialogs.RadioGroupDialog import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.helpers.ensureBackgroundThread -import com.simplemobiletools.commons.interfaces.RefreshRecyclerViewListener import com.simplemobiletools.commons.models.FAQItem import com.simplemobiletools.commons.models.RadioItem import com.simplemobiletools.commons.models.Release @@ -24,7 +24,7 @@ import com.simplemobiletools.commons.views.MyGridLayoutManager import com.simplemobiletools.commons.views.MyRecyclerView import kotlinx.android.synthetic.main.activity_main.* -class MainActivity : SimpleActivity(), RefreshRecyclerViewListener { +class MainActivity : SimpleActivity(), LauncherAdapterUpdateListener { private val MAX_COLUMN_COUNT = 15 private var launchersIgnoringSearch = ArrayList() @@ -275,9 +275,14 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener { } override fun refreshItems() { + main_menu.closeSearch() setupLaunchers() } + override fun refetchItems() { + launchersIgnoringSearch = dbHelper.getLaunchers() + } + private fun checkWhatsNewDialog() { arrayListOf().apply { add(Release(7, R.string.release_7)) diff --git a/app/src/main/kotlin/com/simplemobiletools/applauncher/adapters/LaunchersAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/applauncher/adapters/LaunchersAdapter.kt index 43cfb91..c74685a 100644 --- a/app/src/main/kotlin/com/simplemobiletools/applauncher/adapters/LaunchersAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/applauncher/adapters/LaunchersAdapter.kt @@ -7,6 +7,7 @@ import android.view.ViewGroup import androidx.recyclerview.widget.ItemTouchHelper import androidx.recyclerview.widget.RecyclerView import com.qtalk.recyclerviewfastscroller.RecyclerViewFastScroller +import com.simplemobiletools.applauncher.LauncherAdapterUpdateListener import com.simplemobiletools.applauncher.R import com.simplemobiletools.applauncher.activities.SimpleActivity import com.simplemobiletools.applauncher.dialogs.EditDialog @@ -20,7 +21,6 @@ import com.simplemobiletools.commons.helpers.SORT_BY_CUSTOM import com.simplemobiletools.commons.helpers.ensureBackgroundThread import com.simplemobiletools.commons.interfaces.ItemMoveCallback import com.simplemobiletools.commons.interfaces.ItemTouchHelperContract -import com.simplemobiletools.commons.interfaces.RefreshRecyclerViewListener import com.simplemobiletools.commons.interfaces.StartReorderDragListener import com.simplemobiletools.commons.views.MyRecyclerView import kotlinx.android.synthetic.main.item_launcher_label.view.* @@ -29,7 +29,7 @@ import java.util.* class LaunchersAdapter( activity: SimpleActivity, val launchers: ArrayList, - val listener: RefreshRecyclerViewListener, + val listener: LauncherAdapterUpdateListener, recyclerView: MyRecyclerView, itemClick: (Any) -> Unit ) : MyRecyclerViewAdapter(activity, recyclerView, itemClick), ItemTouchHelperContract, RecyclerViewFastScroller.OnPopupTextUpdate { @@ -180,6 +180,8 @@ class LaunchersAdapter( removeSelectedItems(positions) if (launchers.isEmpty()) { listener.refreshItems() + } else { + listener.refetchItems() } }