Skip to content

Commit 841554f

Browse files
committed
Diff util improvements
1 parent d78f448 commit 841554f

File tree

4 files changed

+24
-8
lines changed

4 files changed

+24
-8
lines changed

app/src/main/java/com/techpaliyal/androidkotlinmvvm/ui/activity/MainActivity.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,5 +53,9 @@ class MainActivity : AppCompatActivity() {
5353
MultipleViewTypeActivity.start(this)
5454
}
5555

56+
binding.btnPaginationListing.setOnClickListener {
57+
PaginationListingActivity.start(this)
58+
}
59+
5660
}
5761
}

app/src/main/java/com/techpaliyal/androidkotlinmvvm/ui/activity/PaginationListingActivity.kt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,13 @@ import android.content.Intent
55
import android.os.Bundle
66
import android.widget.Toast
77
import androidx.appcompat.app.AppCompatActivity
8+
import androidx.databinding.ViewDataBinding
89
import androidx.lifecycle.Observer
910
import com.techpaliyal.androidkotlinmvvm.R
1011
import com.techpaliyal.androidkotlinmvvm.databinding.ActivityListingBinding
1112
import com.techpaliyal.androidkotlinmvvm.extensions.setupPagination
1213
import com.techpaliyal.androidkotlinmvvm.listeners.BasicListener
14+
import com.techpaliyal.androidkotlinmvvm.listeners.UsersListener
1315
import com.techpaliyal.androidkotlinmvvm.model.UserModel
1416
import com.techpaliyal.androidkotlinmvvm.ui.view_model.LoadingListingViewModel
1517
import com.techpaliyal.androidkotlinmvvm.ui.view_model.initViewModel
@@ -44,7 +46,11 @@ class PaginationListingActivity : AppCompatActivity() {
4446
resourceLoading = R.layout.item_user_shimmer,
4547
defaultLoadingItems = 5,
4648
loaderFooter = R.layout.item_loading_more,
47-
mListener = object : BasicListener<UserModel> {
49+
mListener = object : UsersListener {
50+
override fun onLikeClicked(binding: ViewDataBinding, model: UserModel) {
51+
52+
}
53+
4854
override fun onClick(model: UserModel) {
4955
Toast.makeText(this@PaginationListingActivity, model.name, Toast.LENGTH_SHORT)
5056
.show()

app/src/main/java/com/techpaliyal/androidkotlinmvvm/ui/activity/ShimmerListingActivity.kt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,12 @@ import android.content.Intent
55
import android.os.Bundle
66
import android.widget.Toast
77
import androidx.appcompat.app.AppCompatActivity
8+
import androidx.databinding.ViewDataBinding
89
import androidx.lifecycle.Observer
910
import com.techpaliyal.androidkotlinmvvm.R
1011
import com.techpaliyal.androidkotlinmvvm.databinding.ActivityListingBinding
1112
import com.techpaliyal.androidkotlinmvvm.listeners.BasicListener
13+
import com.techpaliyal.androidkotlinmvvm.listeners.UsersListener
1214
import com.techpaliyal.androidkotlinmvvm.model.UserModel
1315
import com.techpaliyal.androidkotlinmvvm.ui.view_model.LoadingListingViewModel
1416
import com.techpaliyal.androidkotlinmvvm.ui.view_model.initViewModel
@@ -44,7 +46,11 @@ class ShimmerListingActivity : AppCompatActivity() {
4446
null,
4547
content = UniversalAdapterViewType.Content(
4648
R.layout.item_user,
47-
listener = object : BasicListener<UserModel> {
49+
listener = object : UsersListener {
50+
override fun onLikeClicked(binding: ViewDataBinding, model: UserModel) {
51+
52+
}
53+
4854
override fun onClick(model: UserModel) {
4955
Toast.makeText(this@ShimmerListingActivity, model.name, Toast.LENGTH_SHORT)
5056
.show()

universal_adapter/src/main/java/com/yogeshpaliyal/universal_adapter/adapter/ContentListAdapter.kt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,18 +28,18 @@ class ContentListAdapter<T>(
2828
DiffUtil.ItemCallback<T>() {
2929
override fun areItemsTheSame(oldItem: T, newItem: T): Boolean {
3030
return if (oldItem is BaseDiffUtil && newItem is BaseDiffUtil) {
31-
oldItem.getDiffId() == newItem.getDiffId()
31+
oldItem.getDiffId()?.equals(newItem.getDiffId())
3232
} else {
33-
oldItem.hashCode() == newItem.hashCode()
34-
}
33+
oldItem?.hashCode()?.equals(newItem?.hashCode())
34+
} ?: false
3535
}
3636

3737
override fun areContentsTheSame(oldItem: T, newItem: T): Boolean {
3838
return if (oldItem is BaseDiffUtil && newItem is BaseDiffUtil) {
39-
oldItem.getDiffBody() == newItem.getDiffBody()
39+
oldItem.getDiffBody()?.equals(newItem.getDiffBody())
4040
} else {
41-
oldItem.hashCode() == newItem.hashCode()
42-
}
41+
oldItem?.toString()?.equals(newItem?.toString())
42+
} ?: false
4343
}
4444

4545
}).build()) {

0 commit comments

Comments
 (0)