Если DiffUtil.Callback правильно реализован, то не будет. Подкапотом у DiffUtil "странное" сравнение только if (newList == oldList) return. Данные внутри он всегда прогоняет через DiffUtil.Callback. Таким образом, при новом списке надо только корректно реализовать Callback.
P.S. знаю не с потолка, так как в прошлом месяце как раз это все дело делал и копался во внутренностях DiffUtil.
я бы с радостью, но вся логика уже написана, я просто дополняю задачу. У тех фрагментов (вложенных) у каждого своя viewModel, поэтому ищу решение с интерфейсами
в моем понимании фрагменты не должны знать о друг друге вообще ничего (даже интерфейсы), так как фрагмент должен представлять незаисимый кусочек UI. Если надо погонять данные между ними, то стоит это делать не через фрагменты, а через промежуточную сущность, которая вообще отвязана от ЖЦ фрагмента, а это или viewModel или какой-то репозиторий
Я имею ввиду следующюю ситуацию: К примеру есть список из итемов https://pastebin.com/w7pW99KF Если старый и новый список сравнить в DiffUtil то он не найдёт отличий, потому что сравнивает одни и те же объекты, но в разных листах.