Advertisement
Guest User

Untitled

a guest
Jul 15th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 1.67 KB | None | 0 0
  1.  private val mUsers : SortedList<User> by lazy {
  2.         SortedList(User::class.java, object : SortedList.Callback<User>() {
  3.             override fun compare(u1: User, u2: User): Int {
  4.                 return if (u1.distanceTo(mGeoQuery!!.center) > u2.distanceTo(mGeoQuery!!.center))
  5.                     1
  6.                 else if (u1.distanceTo(mGeoQuery!!.center) < u2.distanceTo(mGeoQuery!!.center))
  7.                     -1
  8.                 else
  9.                     0
  10.             }
  11.  
  12.             override fun onChanged(position: Int, count: Int) {
  13.                 mListFragmentAdapter?.notifyItemChanged(position, count)
  14.                 mMapFragment?.reloadItems()
  15.             }
  16.  
  17.             override fun areContentsTheSame(u1: User, u2: User): Boolean {
  18.                 return u1.toMap() == u2.toMap()
  19.             }
  20.  
  21.             override fun areItemsTheSame(u1: User, u2: User): Boolean {
  22.                 return u1.uid == u2.uid
  23.             }
  24.  
  25.             override fun onInserted(position: Int, count: Int) {
  26.                 mListFragmentAdapter?.notifyItemRangeInserted(position, count)
  27.  
  28.                 for (i in position..position + count - 1)
  29.                     mMapFragment?.clusterManager?.addItem(mUsers.get(i))
  30.  
  31.                 mMapFragment?.clusterManager?.cluster()
  32.             }
  33.  
  34.             override fun onRemoved(position: Int, count: Int) {
  35.                 mListFragmentAdapter?.notifyItemRangeRemoved(position, count)
  36.                 mMapFragment?.reloadItems()
  37.             }
  38.  
  39.             override fun onMoved(fromPosition: Int, toPosition: Int) {
  40.                 mListFragmentAdapter?.notifyItemMoved(fromPosition, toPosition)
  41.             }
  42.         })
  43.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement