Parcourir la source

adapters code cleanup

Parshav Chauhan il y a 6 ans
Parent
commit
cdd118e0c7

+ 4 - 6
app/src/main/java/com/sduduzog/slimlauncher/adapters/AddAppAdapter.kt

@@ -11,7 +11,7 @@ import com.sduduzog.slimlauncher.utils.OnAppClickedListener
 
 class AddAppAdapter(private val listener: OnAppClickedListener) : RecyclerView.Adapter<AddAppAdapter.ViewHolder>() {
 
-    private var apps: List<App> = listOf()
+    private val apps: MutableList<App> = mutableListOf()
 
     override fun getItemCount(): Int = apps.size
 
@@ -28,8 +28,8 @@ class AddAppAdapter(private val listener: OnAppClickedListener) : RecyclerView.A
         return ViewHolder(view)
     }
 
-    fun setItems(apps: List<App>){
-        this.apps = apps
+    fun setItems(apps: List<App>) {
+        this.apps.addAll(apps)
         notifyDataSetChanged()
     }
 
@@ -37,8 +37,6 @@ class AddAppAdapter(private val listener: OnAppClickedListener) : RecyclerView.A
 
         val appName: TextView = itemView.findViewById(R.id.aa_list_item_app_name)
 
-        override fun toString(): String {
-            return super.toString() + " '${appName.text}'"
-        }
+        override fun toString(): String = "${super.toString()} '${appName.text}'"
     }
 }

+ 9 - 7
app/src/main/java/com/sduduzog/slimlauncher/adapters/CustomAppsAdapter.kt

@@ -16,7 +16,7 @@ import com.sduduzog.slimlauncher.utils.OnShitDoneToAppsListener
 
 class CustomAppsAdapter(private val listener: OnShitDoneToAppsListener) : RecyclerView.Adapter<CustomAppsAdapter.ViewHolder>(), OnItemActionListener {
 
-    private var apps: MutableList<HomeApp> = mutableListOf()
+    private val apps: MutableList<HomeApp> = mutableListOf()
     private lateinit var touchHelper: ItemTouchHelper
 
     override fun getItemCount(): Int = apps.size
@@ -42,13 +42,16 @@ class CustomAppsAdapter(private val listener: OnShitDoneToAppsListener) : Recycl
     }
 
     fun setItems(apps: List<HomeApp>) {
-        this.apps = sanitiseIndexes(apps) as MutableList<HomeApp>
+        this.apps.apply {
+            clear()
+            addAll(sanitiseIndexes(apps))
+        }
         notifyDataSetChanged()
     }
 
     private fun sanitiseIndexes(apps: List<HomeApp>): List<HomeApp> {
-        for (i in apps.indices) {
-            apps[i].sortingIndex = i
+        apps.indices.forEach {
+            apps[it].sortingIndex = it
         }
         return apps
     }
@@ -82,12 +85,11 @@ class CustomAppsAdapter(private val listener: OnShitDoneToAppsListener) : Recycl
     }
 
     inner class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
+
         val dragHandle: TextView = itemView.findViewById(R.id.ca_list_item_drag_handle)
         val appName: TextView = itemView.findViewById(R.id.ca_list_item_app_name)
         val menuIcon: ImageView = itemView.findViewById(R.id.ca_list_item_more_icon)
 
-        override fun toString(): String {
-            return super.toString() + " '${appName.text}'"
-        }
+        override fun toString(): String = "${super.toString()} '${appName.text}'"
     }
 }

+ 5 - 6
app/src/main/java/com/sduduzog/slimlauncher/adapters/HomeAdapter.kt

@@ -13,7 +13,7 @@ import com.sduduzog.slimlauncher.utils.OnLaunchAppListener
 class HomeAdapter(private val listener: OnLaunchAppListener)
     : RecyclerView.Adapter<HomeAdapter.ViewHolder>() {
 
-    private var apps: List<HomeApp> = listOf()
+    private val apps: MutableList<HomeApp> = mutableListOf()
 
     override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
         val view = LayoutInflater.from(parent.context)
@@ -22,7 +22,7 @@ class HomeAdapter(private val listener: OnLaunchAppListener)
     }
 
     override fun onBindViewHolder(holder: ViewHolder, position: Int) {
-        val item = apps.elementAt(position)
+        val item = apps[position]
         holder.mLabelView.text = item.appName
         holder.mLabelView.setOnClickListener {
             listener.onLaunch(item, it)
@@ -32,16 +32,15 @@ class HomeAdapter(private val listener: OnLaunchAppListener)
     override fun getItemCount(): Int = apps.size
 
     fun setItems(list: List<HomeApp>) {
-        this.apps = list
+        apps.addAll(list)
         notifyDataSetChanged()
     }
 
 
     inner class ViewHolder(mView: View) : RecyclerView.ViewHolder(mView) {
+
         val mLabelView: TextView = mView.findViewById(R.id.home_fragment_list_item_app_name)
 
-        override fun toString(): String {
-            return super.toString() + " '" + mLabelView.text + "'"
-        }
+        override fun toString(): String = "${super.toString()} '${mLabelView.text}'"
     }
 }