Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private val mUsers : SortedList<User> by lazy {
- SortedList(User::class.java, object : SortedList.Callback<User>() {
- override fun compare(u1: User, u2: User): Int {
- return if (u1.distanceTo(mGeoQuery!!.center) > u2.distanceTo(mGeoQuery!!.center))
- 1
- else if (u1.distanceTo(mGeoQuery!!.center) < u2.distanceTo(mGeoQuery!!.center))
- -1
- else
- 0
- }
- override fun onChanged(position: Int, count: Int) {
- mListFragmentAdapter?.notifyItemChanged(position, count)
- mMapFragment?.reloadItems()
- }
- override fun areContentsTheSame(u1: User, u2: User): Boolean {
- return u1.toMap() == u2.toMap()
- }
- override fun areItemsTheSame(u1: User, u2: User): Boolean {
- return u1.uid == u2.uid
- }
- override fun onInserted(position: Int, count: Int) {
- mListFragmentAdapter?.notifyItemRangeInserted(position, count)
- for (i in position..position + count - 1)
- mMapFragment?.clusterManager?.addItem(mUsers.get(i))
- mMapFragment?.clusterManager?.cluster()
- }
- override fun onRemoved(position: Int, count: Int) {
- mListFragmentAdapter?.notifyItemRangeRemoved(position, count)
- mMapFragment?.reloadItems()
- }
- override fun onMoved(fromPosition: Int, toPosition: Int) {
- mListFragmentAdapter?.notifyItemMoved(fromPosition, toPosition)
- }
- })
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement