From b0663f42cb207de133e268aac62036546fdaae85 Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 15 Nov 2021 19:53:52 +0100 Subject: [PATCH] use the new fastscroller --- app/build.gradle | 2 +- .../applauncher/activities/MainActivity.kt | 23 ++------------ .../applauncher/adapters/LaunchersAdapter.kt | 11 ++++--- app/src/main/res/layout/activity_main.xml | 30 +++++++------------ app/src/main/res/layout/activity_settings.xml | 4 +-- app/src/main/res/menu/cab.xml | 2 +- 6 files changed, 25 insertions(+), 47 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 7fe9cd8..b59ec78 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -56,7 +56,7 @@ android { } dependencies { - implementation 'com.github.SimpleMobileTools:Simple-Commons:cac7ba71ac' + implementation 'com.github.SimpleMobileTools:Simple-Commons:0684fdde38' implementation 'androidx.multidex:multidex:2.0.1' implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0' } 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 98c0135..6f7bfad 100644 --- a/app/src/main/kotlin/com/simplemobiletools/applauncher/activities/MainActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/applauncher/activities/MainActivity.kt @@ -15,7 +15,6 @@ import com.simplemobiletools.applauncher.extensions.getAllLaunchers import com.simplemobiletools.applauncher.extensions.isAPredefinedApp import com.simplemobiletools.applauncher.models.AppLauncher import com.simplemobiletools.commons.extensions.* -import com.simplemobiletools.commons.helpers.LICENSE_STETHO import com.simplemobiletools.commons.helpers.ensureBackgroundThread import com.simplemobiletools.commons.interfaces.RefreshRecyclerViewListener import com.simplemobiletools.commons.models.FAQItem @@ -69,10 +68,8 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener { updateTextColors(coordinator_layout) - launchers_fastscroller.apply { - updatePrimaryColor() - updateBubbleColors() - } + val adjustedPrimaryColor = getAdjustedPrimaryColor() + launchers_fastscroller.updateColors(adjustedPrimaryColor, adjustedPrimaryColor.getContrastColor()) } override fun onPause() { @@ -130,7 +127,7 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener { AppLauncher.sorting = config.sorting launchers.sort() - LaunchersAdapter(this, launchers, this, launchers_grid, launchers_fastscroller) { + LaunchersAdapter(this, launchers, this, launchers_grid) { val launchIntent = packageManager.getLaunchIntentForPackage((it as AppLauncher).packageName) if (launchIntent != null) { try { @@ -153,11 +150,6 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener { launchers_grid.adapter = this } - launchers_fastscroller.setViews(launchers_grid) { - val item = (launchers_grid.adapter as LaunchersAdapter).launchers.getOrNull(it) - launchers_fastscroller.updateBubbleText(item?.getBubbleText() ?: "") - } - ensureBackgroundThread { allLaunchers = getAllLaunchers() } @@ -183,18 +175,9 @@ class MainActivity : SimpleActivity(), RefreshRecyclerViewListener { invalidateOptionsMenu() getGridAdapter()?.apply { notifyItemRangeChanged(0, launchers.size) - calculateContentHeight(launchers) } } - private fun calculateContentHeight(directories: List) { - val layoutManager = launchers_grid.layoutManager as MyGridLayoutManager - val thumbnailHeight = layoutManager.getChildAt(0)?.height ?: 0 - val fullHeight = ((directories.size - 1) / layoutManager.spanCount + 1) * thumbnailHeight - launchers_fastscroller.setContentHeight(fullHeight) - launchers_fastscroller.setScrollToY(launchers_grid.computeVerticalScrollOffset()) - } - private fun setupGridLayoutManager() { val layoutManager = launchers_grid.layoutManager as MyGridLayoutManager layoutManager.spanCount = config.columnCnt 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 c8520d3..1863eaa 100644 --- a/app/src/main/kotlin/com/simplemobiletools/applauncher/adapters/LaunchersAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/applauncher/adapters/LaunchersAdapter.kt @@ -6,6 +6,7 @@ import android.view.View import android.view.ViewGroup import androidx.recyclerview.widget.ItemTouchHelper import androidx.recyclerview.widget.RecyclerView +import com.qtalk.recyclerviewfastscroller.RecyclerViewFastScroller import com.simplemobiletools.applauncher.R import com.simplemobiletools.applauncher.activities.SimpleActivity import com.simplemobiletools.applauncher.dialogs.EditDialog @@ -23,15 +24,15 @@ 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.FastScroller import com.simplemobiletools.commons.views.MyRecyclerView import kotlinx.android.synthetic.main.item_app_launcher.view.* import java.util.* import kotlin.collections.ArrayList -class LaunchersAdapter(activity: SimpleActivity, val launchers: ArrayList, val listener: RefreshRecyclerViewListener?, - recyclerView: MyRecyclerView, fastScroller: FastScroller, itemClick: (Any) -> Unit) : - MyRecyclerViewAdapter(activity, recyclerView, fastScroller, itemClick), ItemTouchHelperContract { +class LaunchersAdapter( + activity: SimpleActivity, val launchers: ArrayList, val listener: RefreshRecyclerViewListener?, + recyclerView: MyRecyclerView, itemClick: (Any) -> Unit +) : MyRecyclerViewAdapter(activity, recyclerView, null, itemClick), ItemTouchHelperContract, RecyclerViewFastScroller.OnPopupTextUpdate { private var isChangingOrder = false private var startReorderDragListener: StartReorderDragListener @@ -202,4 +203,6 @@ class LaunchersAdapter(activity: SimpleActivity, val launchers: ArrayList - - - + android:layout_width="match_parent" + android:layout_height="wrap_content"> - + - + @@ -66,7 +66,7 @@ diff --git a/app/src/main/res/menu/cab.xml b/app/src/main/res/menu/cab.xml index bbef045..635df8b 100644 --- a/app/src/main/res/menu/cab.xml +++ b/app/src/main/res/menu/cab.xml @@ -8,7 +8,7 @@ app:showAsAction="ifRoom" />