I have spent an hour trying to figure out, who is changing one of my views visibility. It turned out to be constraint.Group.
Well, from the start: I have, for example,
Yes, definitely you will need to remove that one view from android.support.constraint.Group if you want that specific view's visibility logic to work correctly as otherwise whatever the visibility of the android.support.constraint.Group will be there; will also get applied to the visibility of that view and that's why you need to exclude it from the android.support.constraint.Group to avoid problems and thus get your desired outcome.